這篇文章主要介紹python反爬蟲(chóng)策略是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元柘榮做網(wǎng)站,已為上家服務(wù),為柘榮各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
1、從用戶(hù)請(qǐng)求的Headers反爬蟲(chóng)是最常見(jiàn)的反爬蟲(chóng)策略。
偽裝headers。很多網(wǎng)站都會(huì)對(duì)Headers的User-Agent進(jìn)行檢測(cè),還有一部分網(wǎng)站會(huì)對(duì)Referer進(jìn)行檢測(cè)(一些資源網(wǎng)站的防盜鏈就是檢測(cè)Referer)。如果遇到了這類(lèi)反爬蟲(chóng)機(jī)制,可以直接在爬蟲(chóng)中添加Headers,將瀏覽器的User-Agent復(fù)制到爬蟲(chóng)的Headers中;或者將Referer值修改為目標(biāo)網(wǎng)站域名[評(píng)論:往往容易被忽略,通過(guò)對(duì)請(qǐng)求的抓包分析,確定referer,在程序中模擬訪問(wèn)請(qǐng)求頭中添加]。對(duì)于檢測(cè)Headers的反爬蟲(chóng),在爬蟲(chóng)中修改或者添加Headers就能很好的繞過(guò)。
2、基于用戶(hù)行為反爬蟲(chóng)
還有一部分網(wǎng)站是通過(guò)檢測(cè)用戶(hù)行為,例如:同一IP短時(shí)間內(nèi)多次訪問(wèn)同一頁(yè)面,或者同一賬戶(hù)短時(shí)間內(nèi)多次進(jìn)行相同操作。這種防爬,需要有足夠多的ip來(lái)應(yīng)對(duì)。
大多數(shù)網(wǎng)站都是前一種情況,對(duì)于這種情況,使用IP代理就可以解決??梢詫?zhuān)門(mén)寫(xiě)一個(gè)爬蟲(chóng),爬取網(wǎng)上公開(kāi)的代理ip,檢測(cè)后全部保存起來(lái)。有了大量代理ip后可以每請(qǐng)求幾次更換一個(gè)ip,這在requests或者urllib中很容易做到,這樣就能很容易的繞過(guò)第一種反爬蟲(chóng)。
編寫(xiě)爬蟲(chóng)代理:
步驟:
1.參數(shù)是一個(gè)字典{'類(lèi)型':'代理ip:端口號(hào)'}
proxy_support=urllib.request.ProxyHandler({})
2.定制、創(chuàng)建一個(gè)opener
opener=urllib.request.build_opener(proxy_support)
3.安裝opener
urllib.request.install_opener(opener)
4.調(diào)用opener
opener.open(url)
以上是python反爬蟲(chóng)策略是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!