Scrapy爬虫实战(三)----------使用cookies爬取51job
来源:互联网 发布:淘宝卖家版下载 编辑:程序博客网 时间:2024/06/05 06:18
背景:
有一个HR帐号(涉及公司隐私,不公开),想登陆后用scrapy爬取简历信息。这样就必须要每个request请求都要带上登陆后返回的cookies。
试验了一下,搞定了,分享出来供大家参考。
首先,使用firefox的HttpFox插件查看登陆后的cookies.
然后在爬虫中使用cookies,并对跟进的每个链接继续传递cookies.直接上代码:
import scrapyfrom scrapy.spider import CrawlSpider, Rulefrom scrapy.http.request import Requestfrom scrapy.linkextractors import LinkExtractorcookies={'guid':'14692928107003450019', 'slife':'lastvisit%3D020000', 'EhireGuid':'6b45df4e10c84f83910d662532d4d3c6', 'AccessKey':'b65f1133ba064dd', 'LangType':'Lang=&Flag=1', '51job':'cenglish%3D0', 'ASP.NET_SessionId':'iz4atwduigea5roxiraxud1v', 'HRUSERINFO':'CtmID=257960&DBID=1&MType=06&HRUID=1429285&UserAUTHORITY=1000110010&IsCtmLevle=0&UserName=rdbjcomware&IsStandard=1&LoginTime=01%2f06%2f2017+22%3a36%3a52&ExpireTime=01%2f06%2f2017+22%3a46%3a52&CtmAuthen=0000011000000001000111010000000011100011&BIsAgreed=true&IsResetPwd=true&CtmLiscense=5&AccessKey=475e16bba5a8ea90'}def add_cookie(r): print(r.url,r.cookies) r.cookies = cookies return rclass ExampleSpider(CrawlSpider): name = "example" rules = ( Rule(LinkExtractor(allow='ResumeViewFolder'),process_request=add_cookie,callback='parse_one_candidate',follow=True), Rule(LinkExtractor(allow='ehire.51job.com',),process_request=add_cookie,follow=True) ) def start_requests(self): yield Request('http://ehire.51job.com/Navigate.aspx', cookies=cookies) def parse_one_candidate(self, response): print('find_one',response) pass
有几个注意点:
- url中包含RessumeViewFolder的即为应聘者信息,因此自定义'parse_one_candiate'函数来解析应聘者信息,这里解析代码没有列出,只是打印一下。
- 2个Rule的先后顺序要注意,因为第一个Rule的url中也包含'ehire.51job.com',因此要放在前面,这样根据优先匹配原则,就会先匹配到第一个Rule并调用自定义函数解析了,否则匹配到第2个Rule就只是简单跟进链接了
- 通过Rule的process_request方法,来为跟进的链接的Request设置cookies
- 没有考虑自动登陆和cookies失效,后面再研究下再分享出来
2 0
- Scrapy爬虫实战(三)----------使用cookies爬取51job
- scrapy爬虫实战(四)--------------登陆51job并使用cookies进行爬取
- python 爬虫学习三(Scrapy 实战,豆瓣爬取电影信息)
- scrapy框架爬取51job网
- Python3[爬虫实战] 爬虫之scrapy爬取爱上程序网存MongoDB(android模块)
- scrapy爬虫实战(二)-------------爬取IT招聘信息
- Python爬虫实战:Scrapy豆瓣电影爬取
- scrapy实战-爬取
- 爬取51job的爬虫(python)
- python3 [爬虫入门实战]爬虫之scrapy爬取中国医学人才网
- python3 [爬虫入门实战]爬虫之scrapy爬取中华人民共和国民政部
- Scrapy爬虫实战三:获取代理
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(1)
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第4章 scrapy爬取知名技术文章网站(2)
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(1)
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第5章 scrapy爬取知名问答网站(2)
- 实战 使用scrapy 爬取代理 并保存到数据库
- Scrapy爬虫 (1)爬取菜鸟Git教程目录
- 在Zynq 7000平台上使用Linux spidev.c驱动,调试spi设备
- Spring学习-----bean的装配(5)
- 安装虚拟机时想到的一些关于IP地址及网络连接方式问题
- 【计算机操作系统】先来先服务FCFS和短作业优先SJF进程调度算法
- 安卓学习记录--引导页底部跟随小圆点
- Scrapy爬虫实战(三)----------使用cookies爬取51job
- SSM框架搭建,及遇到的问题
- Hadoop新MapReduce框架Yarn详解
- 分布式企业应用系统服务部署和配置
- SSH小框架笔记
- Python第十天
- [51nod1203]JZPLCM
- 实时语音传输系统总结
- JQuery EasyUI入门