克服反爬虫机制爬取智联招聘网站

一、实验内容1、爬取网站: 智联招聘网站(https://www.zhaopin.com/)2、网站的反爬虫机制: 在我频繁爬取智联招聘网站之后,它会出现以下文字(尽管我已经控制了爬虫的爬取速度):因此,我准备使用代理IP池爬取数据。网上多为付费的代理IP池,免费的IP池不稳定,因此我准备通过爬取有关代理IP池的网站上的IP地址搭建自己的代理IP池。3、备注...
摘要由CSDN通过智能技术生成

一、实验内容

1、爬取网站:

    智联招聘网站(https://www.zhaopin.com/

2、网站的反爬虫机制:

    在我频繁爬取智联招聘网站之后,它会出现以下文字(尽管我已经控制了爬虫的爬取速度):

因此,我准备使用代理IP池爬取数据。网上多为付费的代理IP池,免费的IP池不稳定,因此我准备通过爬取有关代理IP池的网站上的IP地址搭建自己的代理IP池

3、备注:

(1)通过分析智联招聘的AJAX接口,模拟AJAX请求直接获取json数据的方法爬取数据

(2)如果两次请求的地址和参数相同,在不刷新页面的情况下,浏览器会缓存第一次请求的内容,服务端更新后浏览器仍然显示第一次的内容,这将会导致我们得不到最新的数据。因此我研究了智联招聘网站的url中的部分参数(下面会详细介绍)以使得我们爬取到的是最新数据,而不是浏览器中的缓存数据。 

(3)当我们输入大于12的页数时,网站会自动修改为12。当我们浏览第12页时,可以看到“下一页”这个按钮变灰了。也就是说,智联招聘网站对于所有的搜索最多只显示12页的数据。这就导致我们得不到足够的数据量。因此我决定采用对多个关键字进行搜索来增加得到的数据量,当然这可能导致得到的数据冗余和重复,但是不管怎样我们都会对数据进行清洗(包括去重),所以这些重复的数据都会在去重中去掉。

 

 

二、实验步骤

1、分析智联招聘的AJAX接口

(1)找到数据所在的url

我使用的是谷歌浏览器。打开网页后,右击选择“检查”,再选择“Network”,我们可以浏览几页的内容,来观察页面出现了什么变化,如图出现了多个url:

观察我们可以看出,url有三种:

一种是page-title开头的,我们单击之后查看一下它的Preview,如图:

我们可以知道该url中是网页的标题、描述之类的信息,并没有我们需要的数据。

一种是user-city开头的,我们单击之后查看一下它的Preview,如图:

我们可以知道该url中主要是是用户的地址信息等,也没有我们需要的数据。

还有一种是sou?开头的,如图:

 

我们所需要的数据在这种url中。

 

(2)分析url的Headers

我们可以看到Request URL便是像这样拼接起来的。

  • 7
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值