python爬虫翻页方式有两种,第一种是观察请求链接中url的变化,第二种是更改post数据变。
现在讲第二种,更改post数据来进行翻页。
Python中请求方式有主要有两种,get和post请求。其中get请求是直接请求网页链接就可以,而post请求需要先向目标网站发送一个数据,然后目标网站返回特定数据。
今天我爬的是拉勾网的职位信息:
找信息过程我就不说了,直接到翻页
我们试用第一种方法,观察url变化,当我们点击下一页后,我们发现网站url没有任何变化。
我爬取的职位信息位于网站的ajax脚本中,这是属于一种反爬虫措施,如图所示:
然后我们观察他的请求头部,发现他的请求方式是post方式,
往下继续看,我们在最下面找到了post请求发送的数据,form data
然后我们就想,既然翻页在地址栏没有变化,那就看看form data有没有变化
点击下一页,再看form data
发现第二个值变化了!!第二个值为pn,正好是page number的缩写,那么pn有可能就是翻页的页码,接下来我又试了第三页和第四页,发现正是我推测的那个样子,我们可以翻页了!!!
代码示意:
码字不易,多谢关照。
领取专属 10元无门槛券
私享最新 技术干货