今天想爬取拉勾网的一些数据,但是期间遇到了不少问题,下面简单讲一下思路:
首先我们看一下公司主页,拉到最下面。看看页码为1时网页的url:
我们再看一下页面为2时的页面:
好家伙,页码不一样的时候url是一样的,这时候,就需要我们打开开发者工具来研究一下了。按下F12,按照图中选项勾选,可以得到看到这样的界面:
我们可以看到,网页的内容实际上是储存在213-0-0.json中的,我们加上这个后缀看看这个网页是什么:
这个网页虽然不好看,但确实包含了我们想要的东西了。但是我们也发现一个问题,无论你切换到第几页,都是显示这个网址!这可咋整!别急,我们还有办法。
我们切换页码后在开发者工具里面看到的几个网址,也还是有一点不一样的,看:
对,就是每个网址的pn参数不一样,在第几页pn就是等于几。我们点一下view source,再看一下情况如何:
可以,我们好像已经得到一个有效的网址后缀了,我们把它输进去试试:
什么鬼,明明pn=2,但是出来的网页还是第一页,看来这个方法也行不通啊。但是,我们还有办法,就是requests函数的params参数,这次我们就在python上看看出来的源码z一不一样!PS:爬取源码需要用到抓包技术,这种文章google上很多,我就不赘述了。
好了,话不多说,我们看看:
params={'first':'false','pn':'1','sortField':'0','havemark':'0'}
cookies和headers自行补充,然后用requests函数访问'https://www.lagou.com/gongsi/213-0-0.json',出来的结果是什么呢?我们看看:
我们把params中的pn参数改成2,看看怎么样:
好了,我画圈的部分是不是和上面的不一样了?大功告成啦!