爬虫笔记26:Scrapy案例-爬取腾讯招聘

需求:爬取腾讯招聘岗位 、翻页
https://careers.tencent.com/search.html?index=1
如下:
爬虫笔记26:Scrapy案例-爬取腾讯招聘
第一步 分析页面
1、数据在哪里获取?
我们在网页源代码中找下,是否有目标数据:
爬虫笔记26:Scrapy案例-爬取腾讯招聘
显然原代码中并没有关于招聘岗位的信息,所以我们不能对该url(https://careers.tencent.com/search.html?index=1)发起并获得响应,再替换page的数字来翻页,进而完成任务。

我们右键检查,在network-XHR中,可以发现下图右下角红框,点击看到response,ctrl+f搜索招聘岗位中的25927,发现了response中包含该数据。
爬虫笔记26:Scrapy案例-爬取腾讯招聘
,就确认了我们要的目标url就在对应的Headers中,见下图。

爬虫笔记26:Scrapy案例-爬取腾讯招聘
即目标url:
https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1625539350923&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=1&pageSize=10&language=zh-cn&area=cn
我们打开上述目标url,搜索25927,有结果,就确认该目标url。
爬虫笔记26:Scrapy案例-爬取腾讯招聘
2、我们去发现目标url的规律,以实现翻页功能。
点击第2页,如下图:
爬虫笔记26:Scrapy案例-爬取腾讯招聘
得到第2页:
爬虫笔记26:Scrapy案例-爬取腾讯招聘
用第1页同样的方法,得到目标url:
https://careers.tencent.com/tencentcareer/api/post/Query?timestamp=1625541009650&countryId=&cityId=&bgIds=&productId=&categoryId=&parentCategoryId=&attrId=&keyword=&pageIndex=2&pageSize=10&language=zh-cn&area=cn
观察规律可知:只是pageIndex=1变成了pageIndex=2,所以我们替换这个数字就可以实现翻页功能。

第二步 代码实现

1 、创建scrapy项目
scrapy startproject tencent
2 、创建爬虫程序
scrapy genspider hr tencent.com
3 、实现逻辑

上一篇:*static* abstract(抽象类)


下一篇:公众号内容拓展学习笔记(2021.5.3)