今天想爬取拉勾網(wǎng)的一些數(shù)據(jù)赠制,但是期間遇到了不少問題,下面簡單講一下思路:
首先我們看一下公司主頁挟憔,拉到最下面钟些。看看頁碼為1時(shí)網(wǎng)頁的url:
我們再看一下頁面為2時(shí)的頁面:
好家伙绊谭,頁碼不一樣的時(shí)候url是一樣的政恍,這時(shí)候,就需要我們打開開發(fā)者工具來研究一下了龙誊。按下F12抚垃,按照圖中選項(xiàng)勾選,可以得到看到這樣的界面:
我們可以看到趟大,網(wǎng)頁的內(nèi)容實(shí)際上是儲存在213-0-0.json中的,我們加上這個(gè)后綴看看這個(gè)網(wǎng)頁是什么:
這個(gè)網(wǎng)頁雖然不好看铣焊,但確實(shí)包含了我們想要的東西了逊朽。但是我們也發(fā)現(xiàn)一個(gè)問題,無論你切換到第幾頁曲伊,都是顯示這個(gè)網(wǎng)址叽讳!這可咋整!別急坟募,我們還有辦法岛蚤。
我們切換頁碼后在開發(fā)者工具里面看到的幾個(gè)網(wǎng)址,也還是有一點(diǎn)不一樣的懈糯,看:
對涤妒,就是每個(gè)網(wǎng)址的pn參數(shù)不一樣,在第幾頁pn就是等于幾赚哗。我們點(diǎn)一下view source她紫,再看一下情況如何:
可以硅堆,我們好像已經(jīng)得到一個(gè)有效的網(wǎng)址后綴了,我們把它輸進(jìn)去試試:
什么鬼贿讹,明明pn=2渐逃,但是出來的網(wǎng)頁還是第一頁,看來這個(gè)方法也行不通啊民褂。但是茄菊,我們還有辦法,就是requests函數(shù)的params參數(shù)赊堪,這次我們就在python上看看出來的源碼z一不一樣面殖!PS:爬取源碼需要用到抓包技術(shù),這種文章google上很多雹食,我就不贅述了畜普。
好了,話不多說群叶,我們看看:
params={'first':'false','pn':'1','sortField':'0','havemark':'0'}
cookies和headers自行補(bǔ)充吃挑,然后用requests函數(shù)訪問'https://www.lagou.com/gongsi/213-0-0.json',出來的結(jié)果是什么呢街立?我們看看:
我們把params中的pn參數(shù)改成2舶衬,看看怎么樣:
好了,我畫圈的部分是不是和上面的不一樣了赎离?大功告成啦逛犹!