使用scrapy-redis分布式爬虫去爬取指定信息

作者:黎智煊,叩丁狼教育高级讲师。原创文章,转载请注明出处。

目标:在智联招聘上面爬取指定职位信息并且保存到redis数据库当中.

工具:python3.6,scrpay,scrapy-redis,redis

  1. 首先配置好本地python环境,具体是python2或者python3都可以.

  2. 使用pip或者anaconda安装好scrapy和scrapy-redis模块.

  3. 本文就使用scrapy-redis提供在github上面的官方例子,(适合懒惰癌晚期),scrapy-redis的github地址:https://github.com/rmax/scrapy-redis

  4. 使用git下载好代码之后,我们就可以入手修改代码.

  5. 记得先开启redis数据库.

修改源码

  1. 找到items.py,然后增加以下代码:

    《使用scrapy-redis分布式爬虫去爬取指定信息》 test1

  2. 然后去修改本来叫dmoz.py的这个文件,改成你自己想要的名字,或者不改也可以,我这里改成zhilianZhaopin.py,然后也可以添加代码.

首先先获取你提交请求后的url了.

《使用scrapy-redis分布式爬虫去爬取指定信息》 test2
《使用scrapy-redis分布式爬虫去爬取指定信息》 test3

  1. 然后获取到的url地址,最后面的p显然就是页面数的意思,然后这个将作为爬虫开始页面.

start_urls=”http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%B9%BF%E4%B8%9C&kw=java%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B%E5%B8%88&sm=0&p=1

  1. 然后就是分析想要提取的url地址的xpath格式.

《使用scrapy-redis分布式爬虫去爬取指定信息》 test4

  1. 然后得到提取<每个职位详细页面的url地址>的xpath匹配值之后,我们就可以去分析每一个详细页需要提取相关信息项的xpath值

《使用scrapy-redis分布式爬虫去爬取指定信息》 test5

  1. 然后大概就是这样的流程,我们最终的部分效果是这样的.

《使用scrapy-redis分布式爬虫去爬取指定信息》 test6
《使用scrapy-redis分布式爬虫去爬取指定信息》 test7

  1. 都写好之后,直接就在这个文件所在的文件夹,调用scrapy runspider zhilianZhaopin.py,

然后运行以后,会看到相应的提示.

《使用scrapy-redis分布式爬虫去爬取指定信息》 test8

然后熟悉操作redis的童鞋就可以去redis查看保存到的数据咯.

ps:具体项目的源码可以到github上面获取,下载下来,启动好redis数据库,直接运行就可以爬取数据的了.

项目的github地址:https://github.com/headB/zhilianZhaopin

《使用scrapy-redis分布式爬虫去爬取指定信息》 WechatIMG7.jpeg

    原文作者:叩丁狼教育
    原文地址: https://www.jianshu.com/p/80c94bb9d003
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞