中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

爬蟲過程中加上這些策略讓你采集效率更高

發布時間:2020-08-10 23:06:15 來源:ITPUB博客 閱讀:179 作者:mmz_77 欄目:編程語言


我們都知道在采集數據過程中,尤其是爬取大量數據的時候,很多網站都有反爬蟲措施,封 ip是很嚴重的,,讓你在采集的時候很心煩。本文就如何解決這個問題總結出一些應對措施,這些措施可以單獨使用,也可以同時使用,效果更好。

、偽造 User-Agent

在請求頭中把 User-Agent 設置成瀏覽器中的 User-Agent ,來偽造瀏覽器訪問。比如:

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)

在每次重復爬取之間設置一個隨機時間間隔

# 比如:

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

# 或:

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

而且最主要的是 ua 要越多越好,不要固定的使用那幾個,要經常更換最新真實的 ua

二、 偽造 cookies

若從瀏覽器中可以正常訪問一個頁面,則可以將瀏覽器中的 cookies 復制過來使用,比如:

cookies = dict(uuid='b18f0e70-8705-470d-bc4b-09a8da617e15',UM_distinctid='15d188be71d50-013c49b12ec14a-3f73035d-100200-15d188be71ffd')

resp = requests.get(url,cookies = cookies)

# 把瀏覽器的 cookies 字符串轉成字典

def cookies2dict(cookies):

    items = cookies.split(';')

    d = {}

    for item in items:

        kv = item.split('=',1)

        k = kv[0]

        v = kv[1]

        d[k] = v

return d

注:用瀏覽器 cookies 發起請求后,如果請求頻率過于頻繁仍會被封 IP ,這時可以在瀏覽器上進行相應的手工驗證(比如點擊驗證圖片等),然后就可以繼續正常使用該 cookies 發起請求。

三、 使用代理

可以換著用多個代理 IP 來進行訪問,防止同一個 IP 發起過多請求而被封 IP ,比如:

  # 要訪問的目標頁面

        targetUrl = "http://httpbin.org/ip"

 

         # 要訪問的目標HTTPS頁面

         # targetUrl = "https://httpbin.org/ip"

 

         # 代理服務器

        proxyHost = "t.16yun.cn"

        proxyPort = "31111"

 

         # 代理隧道驗證信息

        proxyUser = "username"

        proxyPass = "password"

 

        proxyMeta = "http:// %(user)s : %(pass)s @ %(host)s : %(port)s "  % {

             "host"  : proxyHost,

             "port"  : proxyPort,

             "user"  : proxyUser,

             "pass"  : proxyPass,

        }

 

         # 設置 http和https訪問都是用HTTP代理

        proxies = {

             "http"   : proxyMeta,

             "https"  : proxyMeta,

        } (這里是用的億牛云的動態轉發代理進行示例)

不管我們采集什么網站的數據,光有代理是不行的,要配合多種反爬策略一起才能更高效的獲取大量的數據。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金湖县| 霸州市| 武威市| 彰武县| 柘荣县| 金昌市| 闸北区| 莆田市| 商洛市| 娱乐| 兴义市| 民丰县| 萨嘎县| 油尖旺区| 伊川县| 册亨县| 额敏县| 藁城市| 花垣县| 高要市| 任丘市| 体育| 运城市| 龙江县| 五莲县| 响水县| 福清市| 新野县| 噶尔县| 东源县| 新安县| 张北县| 六安市| 民丰县| 手游| 修武县| 花莲县| 辽源市| 大化| 蛟河市| 开封市|