2019年1月11日

scrapy保存csv文件有空行的解决方案

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

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

2019年1月7日

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 月见空青 阅读(1520) 评论(0) 推荐(0)

2018年11月30日

scrapy抓取拉勾网职位信息(八)——使用scrapyd对爬虫进行部署

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

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

2018年11月29日

scrapy抓取拉勾网职位信息(七)——实现分布式

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

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

2018年11月28日

scrapy抓取拉勾网职位信息(七)——数据存储(MongoDB,Mysql,本地CSV)

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

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

scrapy抓取拉勾网职位信息(六)——反爬应对(随机UA,随机代理)

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

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

scrapy抓取拉勾网职位信息(五)——代码优化

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

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

2018年11月27日

scrapy抓取拉勾网职位信息(四)——对字段进行提取

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

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

scrapy抓取拉勾网职位信息(三)——爬虫rules内容编写

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

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

scrapy抓取拉勾网职位信息(二)——拉勾网页面分析

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

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

导航