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