Python 常見反爬策略及應對方案彙總

2021-09-26 15:17:43 字數 2798 閱讀 5895

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 池,每次訪問隨...

爬蟲反爬機制及反爬策略

參考 爬蟲是一種模擬瀏覽器對 發起請求,獲取資料的方法。簡單的爬蟲在抓取 資料的時候,因為對 訪問過於頻繁,給伺服器造成過大的壓力,容易使 崩潰,因此 維護者會通過一些手段避免爬蟲的訪問,以下是幾種常見的反爬蟲和反反爬蟲策略 爬蟲與反爬蟲,這相愛相殺的一對,簡直可以寫出一部壯觀的鬥爭史。而在大資料時...

爬蟲高階 反爬策略的應對機制

爬蟲與反爬蟲,這相愛相殺的一對,簡直可以寫出一部壯觀的鬥爭史。而在大資料時代,資料就是金錢,很多企業都為自己的 運用了反爬蟲機制,防止網頁上的資料被爬蟲爬走。然而,如果反爬機制過於嚴格,可能會誤傷到真正的使用者請求 如果既要和爬蟲死磕,又要保證很低的誤傷率,那麼又會加大研發的成本。簡單低階的爬蟲速度...