随笔分类 -  python爬虫

1

python执行js代码时编码报错问题
摘要:使用execjs执行js代码报错 报错信息如下: Exception in thread Thread 1: Traceback (most recent call last): File "E:\codes\python\lib\threading.py", line 917, in _boots 阅读全文

posted @ 2019-06-19 16:23 月见空青 阅读(1598) 评论(0) 推荐(1)

scrapy的一些容易忽视的点(模拟登陆,传递item等)
摘要:scrapy爬虫注意事项 "item数据只有最后一条" "item字段传递后错误,混乱" "对一个页面要进行两种或多种不同的解析" "xpath中contains的使用" "提取不在标签内的文本内容" "使用css、xpath提取倒数第n个标签" "提取表格信息(含合并单元格)" "模拟登陆" 一、 阅读全文

posted @ 2019-03-26 16:54 月见空青 阅读(1093) 评论(0) 推荐(0)

scrapy保存csv文件有空行的解决方案
摘要:比如现在我有一个名为test的爬虫,运行爬虫后将结果保存到test.csv文件 默认情况下,我执行scrapy crawl test -o test.csv ,得到的结果可能就是下面这种情况,每两行中间都会有一个空行 解决方法是修改scrapy的源码,具体就是 io.TextIOWrapper 里面 阅读全文

posted @ 2019-01-11 17:25 月见空青 阅读(571) 评论(0) 推荐(0)

scrapy实现多级页面的抓取时使用meta传递item数据的问题(转)
摘要:name = 'doubanzufang'start_urls = ['https://www.douban.com/group/tianhezufang/discussion?start=50'] def parse(self, response): item = ZufangItem() nod 阅读全文

posted @ 2019-01-07 13:38 月见空青 阅读(1528) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(八)——使用scrapyd对爬虫进行部署
摘要:上篇我们实现了分布式爬取,本篇来说下爬虫的部署。 分析:我们上节实现的分布式爬虫,需要把爬虫打包,上传到每个远程主机,然后解压后执行爬虫程序。这样做运行爬虫也可以,只不过如果以后爬虫有修改,需要重新修改好代码后,重新打包上传然后执行(当然你愿意每台登上去后修改代码也行)。本篇我们使用scrapd来进 阅读全文

posted @ 2018-11-30 22:07 月见空青 阅读(357) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(七)——实现分布式
摘要:上篇我们实现了数据的存储,包括把数据存储到MongoDB,Mysql以及本地文件,本篇说下分布式。 我们目前实现的是一个单机爬虫,也就是只在一个机器上运行,想象一下,如果同时有多台机器同时运行这个爬虫,并且把数据都存储到同一个数据库,那不是美滋滋,速度也得到了很大的提升。 要实现分布式,只需要对se 阅读全文

posted @ 2018-11-29 22:41 月见空青 阅读(311) 评论(1) 推荐(0)

scrapy抓取拉勾网职位信息(七)——数据存储(MongoDB,Mysql,本地CSV)
摘要:上一篇完成了随机UA和随机代理的设置,让爬虫能更稳定的运行,本篇将爬取好的数据进行存储,包括本地文件,关系型数据库(以Mysql为例),非关系型数据库(以MongoDB为例)。 实际上我们在编写爬虫rules规则的时候,做了很多的限定,而且没有对翻页进行处理,所以最终提取的信息数量比较少,经我的测试 阅读全文

posted @ 2018-11-28 22:08 月见空青 阅读(465) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(六)——反爬应对(随机UA,随机代理)
摘要:上篇已经对数据进行了清洗,本篇对反爬虫做一些应对措施,主要包括随机UserAgent、随机代理。 一、随机UA 分析:构建随机UA可以采用以下两种方法 我们可以选择很多UserAgent,形成一个列表,使用的时候通过middleware获取到settings.py文件中的配置,然后进行随机选择 使用 阅读全文

posted @ 2018-11-28 17:02 月见空青 阅读(754) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(五)——代码优化
摘要:上一篇我们已经让代码跑起来,各个字段也能在控制台输出,但是以item类字典的形式写的代码过于冗长,且有些字段出现的结果不统一,比如发布日期。 而且后续要把数据存到数据库,目前的字段基本都是string类型,会导致占用空间较多,查询时速度会较慢,所以本篇先对目前已写好的代码进行适当优化。 本篇目的:使 阅读全文

posted @ 2018-11-28 16:48 月见空青 阅读(557) 评论(2) 推荐(0)

scrapy抓取拉勾网职位信息(四)——对字段进行提取
摘要:上一篇中已经分析了详情页的url规则,并且对items.py文件进行了编写,定义了我们需要提取的字段,本篇将具体的items字段提取出来 这里主要是涉及到选择器的一些用法,如果不是很熟,可以参考:scrapy选择器的使用 依旧是在lagou_c.py文件中编写代码 首先是导入LagouItem类,因 阅读全文

posted @ 2018-11-27 18:39 月见空青 阅读(387) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(三)——爬虫rules内容编写
摘要:在上篇中,分析了拉勾网需要跟进的页面url,本篇开始进行代码编写。 在编写代码前,需要对scrapy的数据流走向有一个大致的认识,如果不是很清楚的话建议先看下:scrapy数据流 本篇目标:让拉勾网爬虫能跑起来 分析:我们要通过拉勾网的起始url,通过设定一些规则,跟进我们需要的网页,提取出详情页的 阅读全文

posted @ 2018-11-27 17:20 月见空青 阅读(704) 评论(0) 推荐(1)

scrapy抓取拉勾网职位信息(二)——拉勾网页面分析
摘要:网站结构分析: 四个大标签:首页、公司、校园、言职 我们最终是要得到详情页的信息,但是从首页的很多链接都能进入到一个详情页,我们需要对这些标签一个个分析,分析出哪些链接我们需要跟进。 首先是四个大标签,鼠标点击进入后可以发现首页、公司、校园,这三个包含有招聘职位 1、首先是对首页的分析 首页正文部分 阅读全文

posted @ 2018-11-27 15:10 月见空青 阅读(393) 评论(0) 推荐(0)

scrapy抓取拉勾网职位信息(一)——scrapy初识及lagou爬虫项目建立
摘要:本次以scrapy抓取拉勾网职位信息作为scrapy学习的一个实战演练 python版本:3.7.1 框架:scrapy(pip直接安装可能会报错,如果是vc++环境不满足,建议直接安装一个visual studio一劳永逸,如果报错缺少前置依赖,就先安装依赖) 本篇主要对scrapy生成爬虫项目做 阅读全文

posted @ 2018-11-27 13:02 月见空青 阅读(338) 评论(0) 推荐(0)

scrapy详细数据流走向(个人总结)
摘要:直接从数据流的角度来说比较容易理解: ·1、Spider创建一个初识url请求,把这个请求通过Engine转给Scheduler调度模块。然后Scheduler向Engine提供一个请求(这个请求是一个真实的url请求) 疑问点一:为什么Engine把请求发给Scheduler模块,然后又从Sche 阅读全文

posted @ 2018-11-10 12:04 月见空青 阅读(1114) 评论(0) 推荐(0)

scrapy中Selector的使用
摘要:scrapy的Selector选择器其实也可以用来解析,今天主要总结下css和xpath的用法,其实我个人最喜欢用css 以慕课网嵩天老师教程中的一个网页为例,python123.io/ws/demo.html 解析是提取信息的一种手段,主要提取的信息包括:标签节点、属性、文本,下面从这三个方面来分 阅读全文

posted @ 2018-11-08 17:10 月见空青 阅读(891) 评论(0) 推荐(0)

scrapy生成csv文件空行、csv文件打开乱码(解决方案)
摘要:一、scrapy生成csv文件会有多余的空行 当使用scrapy crawl testspider -o test.csv后,生成的默认csv文件每一行之间是有空行的,解决的方法是修改scrapy的源代码 首先打开C:\Users\fengyun\AppData\Local\Programs\Pyt 阅读全文

posted @ 2018-11-07 19:02 月见空青 阅读(1615) 评论(0) 推荐(0)

requests库使用socks5代理
摘要:备查: 阅读全文

posted @ 2018-10-24 21:49 月见空青 阅读(1820) 评论(0) 推荐(0)

python3爬虫爬取煎蛋网妹纸图片(下篇)2018.6.25有效
摘要:分析完了真实图片链接地址,下面要做的就是写代码去实现了。想直接看源代码的可以点击这里 大致思路是:获取一个页面的的html >使用正则表达式提取出图片hash值并进行base64解码 >将解码得到的结果进行拼接替换,得到原始图片地址 >对图片地址进行请求,对返回的content进行保存 >扩展到多个 阅读全文

posted @ 2018-06-25 10:41 月见空青 阅读(313) 评论(0) 推荐(0)

python3爬虫爬取煎蛋网妹纸图片(上篇)
摘要:其实之前实现过这个功能,是使用selenium模拟浏览器页面点击来完成的,但是效率实际上相对来说较低。本次以解密参数来完成爬取的过程。 首先打开煎蛋网http://jandan.net/ooxx,查看网页源代码。我们搜索其中一张图片的编号,比如3869006,看下在源代码中是否能找到图片链接 从上面 阅读全文

posted @ 2018-06-24 21:47 月见空青 阅读(917) 评论(0) 推荐(0)

python3爬虫爬取网页思路及常见问题(原创)
摘要:学习爬虫有一段时间了,对遇到的一些问题进行一下总结。 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save)。 下面分别说下这几个过程中可以出现的问题: 一、请求网页:向网站服务器发送请求 你可以这样理解,你在浏览器输入xxjpg.com, 阅读全文

posted @ 2018-06-15 15:38 月见空青 阅读(1334) 评论(0) 推荐(0)

1

导航