當前位置:成語大全網 - 新華字典 - 如何使用python解決網站的反爬蟲

如何使用python解決網站的反爬蟲

1、從用戶請求的Headers反爬蟲是最常見的反爬蟲策略。

偽裝header。很多網站都會對Headers的User-Agent進行檢測,還有壹部分網站會對Referer進行檢測(壹些資源網站的防盜鏈就是檢測Referer)。如果遇到了這類反爬蟲機制,可以直接在爬蟲中添加Headers,將瀏覽器的User-Agent復制到爬蟲的Headers中;或者將Referer值修改為目標網站域名[評論:往往容易被忽略,通過對請求的抓包分析,確定referer,在程序中模擬訪問請求頭中添加]。對於檢測Headers的反爬蟲,在爬蟲中修改或者添加Headers就能很好的繞過。

2、基於用戶行為反爬蟲

還有壹部分網站是通過檢測用戶行為,例如同壹IP短時間內多次訪問同壹頁面,或者同壹賬戶短時間內多次進行相同操作。[這種防爬,需要有足夠多的ip來應對]

(1)、大多數網站都是前壹種情況,對於這種情況,使用IP代理就可以解決。可以專門寫壹個爬蟲,爬取網上公開的代理ip,檢測後全部保存起來。有了大量代理ip後可以每請求幾次更換壹個ip,這在requests或者urllib中很容易做到,這樣就能很容易的繞過第壹種反爬蟲。

編寫爬蟲代理:

步驟:

1.參數是壹個字典{'類型':'代理ip:端口號'}

proxy_support=urllib.request.ProxyHandler({})

2.定制、創建壹個opener

opener=urllib.request.build_opener(proxy_support)

3a.安裝opener

urllib.request.install_opener(opener)

3b.調用opener

opener.open(url)

用大量代理隨機請求目標網站,應對反爬蟲