python 爬虫 包_python爬虫学习之路-抓包分析
利用瀏覽器抓包,是爬蟲中的很實(shí)用的技能。在爬蟲編程之前,我們要對抓取的目標(biāo)頁面有所了解,比如瀏覽器的這個請求這個頁面中間都經(jīng)歷了什么,數(shù)據(jù)是怎么發(fā)送和返回的。
抓包的作用
我把抓包分析的作用簡單列一下:
分析請求的headers等等,可以加載到你的爬蟲中,偽裝成瀏覽器。往往可以躲過簡單的反扒策略登錄狀態(tài)獲取,如果我們在瀏覽器中登錄,抓包拿到cookies,加到我們的爬蟲中,往往就可以繞過登錄這道坎,爬蟲直接登堂入室,抓取更有價值的數(shù)據(jù)post請求,例如頁面中通過post提交的表單。我們就可以抓包看到請求是每個參數(shù)的key和value,key是什么、value有沒有編碼等等抓接口,抓包往往可以看到服務(wù)器返回到瀏覽器的的響應(yīng)數(shù)據(jù)是什么,比如很多頁面中的數(shù)據(jù),其實(shí)是中間經(jīng)過一次接口的,接口中往往是json數(shù)據(jù)。這樣爬蟲就可以直接抓接口,而不是原網(wǎng)頁。json數(shù)據(jù)中比頁面解析提取數(shù)據(jù)來的遍歷抓包分析,有時可以繞過有些網(wǎng)站的反扒限制,甚至網(wǎng)站的驗證碼(極少其概況下啊)···
如何抓包
案例一
瀏覽器例如Chrome、Firfox都支持抓包,其中Firfox有一個開發(fā)者版本 firefox developer edition,更加專業(yè)一些,可以安裝玩玩看。
我們以Chrome瀏覽器為例吧,要有一個抓包的頁面啊
就這個鏈接啦:
http://baijiahao.baidu.com/builder/preview/s?id=1601067954790004275
瀏覽器中輸入這個鏈接,頁面空白處,右鍵“檢查”,點(diǎn)擊“network”,再次刷新頁面,看到如下:
看似訪問一個頁面,其實(shí)中間經(jīng)過這么多請求。
其中左側(cè),每一個請求的Headers標(biāo)簽中內(nèi)容如下四個部分:
GeneralResponse HeaderRequest HeadersQuery其中重點(diǎn)在請求的headers,將里面的數(shù)據(jù)設(shè)置到你的爬蟲,就可以偽裝爬蟲,通常設(shè)置Cookie、Host、User-Agent、Referer等。
案例二
post請求的抓包。
有表單的頁面,點(diǎn)擊提交,抓包可以查看post的數(shù)據(jù)有哪些,是否對數(shù)據(jù)編碼等
案例三
抓包,獲取接口。這個頁面http://www.2345.com/corp.htm?innertab想要獲取這個頁面上的各個行業(yè)和相應(yīng)網(wǎng)址。抓取這個鏈接,提取頁面元素。不論是用正則、xpath、beautifulsoup等等。有更好的辦法嗎?抓包看看
通過抓包,我們得到接口:http://www.2345.com/js/nvaurllist1202.js?v=8.13.1抓取這個鏈接進(jìn)行數(shù)據(jù)提取,不是比原頁面簡單些嗎。
python爬蟲學(xué)習(xí)之路-抓包分析 就到這里,下次開始初認(rèn)python的urllib、urllib2、requests,理清楚三者的關(guān)系。這里是python2,學(xué)習(xí)了python2的爬蟲開發(fā),python3也不在話下
總結(jié)
以上是生活随笔為你收集整理的python 爬虫 包_python爬虫学习之路-抓包分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推挽变换器
- 下一篇: Python中的虚拟环境-virtual