欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python爬蟲(chóng)防封ip的一些技巧

 更新時(shí)間:2020年08月06日 10:31:00   作者:小雨  
這篇文章主要介紹了Python爬蟲(chóng)防封ip的一些技巧,對(duì)平時(shí)學(xué)習(xí)爬蟲(chóng)有所幫助,感興趣的朋友可以了解下

在編寫(xiě)爬蟲(chóng)爬取數(shù)據(jù)的時(shí)候,因?yàn)楹芏嗑W(wǎng)站都有反爬蟲(chóng)措施,所以很容易被封IP,就不能繼續(xù)爬了。在爬取大數(shù)據(jù)量的數(shù)據(jù)時(shí)更是瑟瑟發(fā)抖,時(shí)刻擔(dān)心著下一秒IP可能就被封了。

本文就如何解決這個(gè)問(wèn)題總結(jié)出一些應(yīng)對(duì)措施,這些措施可以單獨(dú)使用,也可以同時(shí)使用,效果更好。

偽造User-Agent

在請(qǐng)求頭中把User-Agent設(shè)置成瀏覽器中的User-Agent,來(lái)偽造瀏覽器訪(fǎng)問(wèn)。比如:

headers ={'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'} resp = requests.get(url,headers = headers)

還可以先收集多種瀏覽器的User-Agent,每次發(fā)起請(qǐng)求時(shí)隨機(jī)從中選一個(gè)使用,可以進(jìn)一步提高安全性:

把上面隨機(jī)選擇一個(gè)User-Agent的代碼封裝成一個(gè)函數(shù):

在每次重復(fù)爬取之間設(shè)置一個(gè)隨機(jī)時(shí)間間隔

比如:

time.sleep(random.randint(0,3)) # 暫停0~3秒的整數(shù)秒,時(shí)間區(qū)間:[0,3]

或:

time.sleep(random.random()) # 暫停0~1秒,時(shí)間區(qū)間:[0,1)

偽造cookies

若從瀏覽器中可以正常訪(fǎng)問(wèn)一個(gè)頁(yè)面,則可以將瀏覽器中的cookies復(fù)制過(guò)來(lái)使用,比如:

注:用瀏覽器cookies發(fā)起請(qǐng)求后,如果請(qǐng)求頻率過(guò)于頻繁仍會(huì)被封IP,這時(shí)可以在瀏覽器上進(jìn)行相應(yīng)的手工驗(yàn)證(比如點(diǎn)擊驗(yàn)證圖片等),然后就可以繼續(xù)正常使用該cookies發(fā)起請(qǐng)求。

使用代理

可以換著用多個(gè)代理IP來(lái)進(jìn)行訪(fǎng)問(wèn),防止同一個(gè)IP發(fā)起過(guò)多請(qǐng)求而被封IP,比如:

附:GitHub上的一個(gè)"反反爬蟲(chóng)"項(xiàng)目

道高一尺魔高一丈,你有反爬蟲(chóng)措施,那我也有各種"反反爬蟲(chóng)"的措施,GitHub上就有一位大神專(zhuān)門(mén)整理了一個(gè)這樣的項(xiàng)目:Anti-Anti-Spider,鏈接地址為:github.com/luyishisi/An可以研究一下。

以上就是Python爬蟲(chóng)防封ip的一些技巧的詳細(xì)內(nèi)容,更多關(guān)于Python爬蟲(chóng)防封ip的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python注釋和運(yùn)算符詳解

    python注釋和運(yùn)算符詳解

    這篇文章主要為大家介紹了python注釋和運(yùn)算符,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python如何讀取bin文件并下發(fā)串口

    python如何讀取bin文件并下發(fā)串口

    這篇文章主要介紹了python如何讀取bin文件并下發(fā)串口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python+pyhyper實(shí)現(xiàn)識(shí)別圖片中的車(chē)牌號(hào)思路詳解

    python+pyhyper實(shí)現(xiàn)識(shí)別圖片中的車(chē)牌號(hào)思路詳解

    最近領(lǐng)導(dǎo)給布置了一個(gè)基于圖片識(shí)別車(chē)牌號(hào)的工具開(kāi)發(fā)任務(wù),然后就去研究實(shí)現(xiàn)邏輯,自己根據(jù)opencv寫(xiě)了一個(gè)小demo,發(fā)現(xiàn)不僅速度慢而且成功率極低。然后,就找到了Hyperlpr開(kāi)源項(xiàng)目,這篇文章主要介紹了python+pyhyper實(shí)現(xiàn)識(shí)別圖片中的車(chē)牌號(hào),需要的朋友可以參考下
    2022-12-12
  • python在windows和linux下獲得本機(jī)本地ip地址方法小結(jié)

    python在windows和linux下獲得本機(jī)本地ip地址方法小結(jié)

    這篇文章主要介紹了python在windows和linux下獲得本機(jī)本地ip地址方法,實(shí)例分析了Python獲得IP地址的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Python使用Numpy模塊讀取文件并繪制圖片

    Python使用Numpy模塊讀取文件并繪制圖片

    這篇文章主要介紹了Python使用Numpy模塊讀取文件并繪制圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python可變對(duì)象,不可變對(duì)象詳解

    python可變對(duì)象,不可變對(duì)象詳解

    這篇文章主要介紹了Python可變對(duì)象和不可變對(duì)象的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2021-09-09
  • 利用Python獲取操作系統(tǒng)信息實(shí)例

    利用Python獲取操作系統(tǒng)信息實(shí)例

    作為一個(gè)運(yùn)維人員,經(jīng)常需要獲取系統(tǒng)的的各種信息,使用python會(huì)很方便幫助獲得,這篇文章運(yùn)用實(shí)例告訴大家如何利用Python來(lái)獲取操作系統(tǒng)的信息,有需要的可以參考借鑒。
    2016-09-09
  • jupyter notebook 添加kernel permission denied的操作

    jupyter notebook 添加kernel permission denied的操作

    這篇文章主要介紹了jupyter notebook 添加kernel permission denied的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python3.6.3安裝圖文教程 TensorFlow安裝配置方法

    python3.6.3安裝圖文教程 TensorFlow安裝配置方法

    這篇文章主要為大家詳細(xì)介紹了python3.6.3及TensorFlow安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • python兩種獲取剪貼板內(nèi)容的方法

    python兩種獲取剪貼板內(nèi)容的方法

    這篇文章主要介紹了python兩種獲取剪貼板內(nèi)容的方法,幫助大家更好的理解和使用python,完成需求,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論