2019常見反爬策略及應對方案大彙總了。如果你對反爬蟲的策略和手段還掌握的不很全面,進來學就對了!一切都是剛剛好,一切都不晚!
1 . 構造合理的http請求頭。
accept
user-agent - 三方庫fake-useragent
from fake_useragent import useragent
ua = useragent()
ua.ie
# mozilla/5.0 (windows; u; msie 9.0; windows nt 9.0; en-us);
ua.msie
# mozilla/5.0 (compatible; msie 10.0; macintosh; intel mac os x 10_7_3; trident/6.0)'
ua['internet explorer']
# mozilla/5.0 (compatible; msie 8.0; windows nt 6.1; trident/4.0; gtb7.4; infopath.2; sv1; .net clr 3.3.69573; wow64; en-us)
ua.opera
# opera/9.80 (x11; linux i686; u; ru) presto/2.8.131 version/11.11
ua.chrome
ua.google
ua['google chrome']
ua.firefox
# mozilla/5.0 (windows nt 6.2; win64; x64; rv:16.0.1) gecko/20121011 firefox/16.0.1
ua.ff
# mozilla/5.0 (x11; ubuntu; linux i686; rv:15.0) gecko/20100101 firefox/15.0.1
ua.safari
# and the best one, random via real world browser usage statistic
ua.random
referer
accept-encoding
accept-language
2 . 檢查**生成的cookie。有用的外掛程式:editthiscookie
如何處理指令碼動態生成的cookie
3 . 抓取動態內容。
selenium + webdriver
chrome / firefox - driver
4 . 限制爬取的速度。5 . 處理表單中的隱藏域。在讀取到隱藏域之前不要提交表單
用robobrowser這樣的工具輔助提交表單
6 . 處理表單中的驗證碼。
ocr(tesseract) - 商業專案一般不考慮
專業識別平台 - 超級鷹 / 雲打碼
from hashlib import md5
class chaoclient(object):
def __init__(self, username, password, soft_id):
self.username = username
password = password.encode('utf-8')
self.password = md5(password).hexdigest()
self.soft_id = soft_id
self.base_params =
self.headers =
def post_pic(self, im, codetype):
params =
params.update(self.base_params)
files =
r = requests.post('', data=params, files=files, headers=self.headers)
return r.json()
if __name__ == '__main__':
client = chaoclient('使用者名稱', '密碼', '軟體id')
7 . 繞開「陷阱」。網頁上有誘使爬蟲爬取的爬取的隱藏鏈結(陷阱或蜜罐)
通過selenium+webdriver+chrome判斷鏈結是否可見或在可視區域
8 . 隱藏身份。
**服務 - 快** / 訊** / 芝麻** / 蘑菇** / 雲**
洋蔥路由 - 國內需要翻牆才能使用
yum -y install tor
useradd admin -d /home/admin
passwd admin
chown -r admin:admin /home/admin
chown -r admin:admin /var/run/tor
tor
python 爬蟲 常見的反爬策略及應對方案?
1 headers反爬蟲 1.1 檢查 cookie referer user agent 1.2 解決方案 通過f12獲取headers,傳給requests.get 方法 2 ip限制 2.1 根據ip位址訪問頻率進行反爬,短時間內限制ip訪問 2.2 解決方案 a 構造自己ip 池,每次訪問隨...
爬蟲反爬機制及反爬策略
參考 爬蟲是一種模擬瀏覽器對 發起請求,獲取資料的方法。簡單的爬蟲在抓取 資料的時候,因為對 訪問過於頻繁,給伺服器造成過大的壓力,容易使 崩潰,因此 維護者會通過一些手段避免爬蟲的訪問,以下是幾種常見的反爬蟲和反反爬蟲策略 爬蟲與反爬蟲,這相愛相殺的一對,簡直可以寫出一部壯觀的鬥爭史。而在大資料時...
爬蟲高階 反爬策略的應對機制
爬蟲與反爬蟲,這相愛相殺的一對,簡直可以寫出一部壯觀的鬥爭史。而在大資料時代,資料就是金錢,很多企業都為自己的 運用了反爬蟲機制,防止網頁上的資料被爬蟲爬走。然而,如果反爬機制過於嚴格,可能會誤傷到真正的使用者請求 如果既要和爬蟲死磕,又要保證很低的誤傷率,那麼又會加大研發的成本。簡單低階的爬蟲速度...