今天想爬取拉勾網的一些數據,但是期間遇到了不少問題,下面簡單講一下思路:
首先我們看一下公司主頁,拉到最下面。看看頁碼為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,看看怎么樣:
好了,我畫圈的部分是不是和上面的不一樣了?大功告成啦!