日常爬蟲工作中一些常見的和不常見的偽裝技巧

mmz_77發表於2022-12-26
日常安爬蟲工作中,遇到網站進行反爬是最正常不過的事,大部分網站是會識別訪問者是透過瀏覽器還是爬蟲,並根據這個來限制或放開你的訪問。不同的目標網站之間反爬機制也是有差別的,有的比較簡單,有的難度就比較大。小編根據多年的爬蟲經驗總結了以下一些常見的反爬機制;
1分析使用者請求的headers資訊
2檢測使用者行為,如短時間內同一個IP頻繁訪問
3動態載入增加爬蟲難度
4驗證碼反爬蟲
5資訊需要登入才能顯示
以上都是些常見的,還有一些是不常見的比如有的網站某些資訊是加密的,可能瀏覽器上看到的是這樣,我們複製出來看到的又不一樣,這種需要解密;有的網站會檢測使用者滑鼠移動情況,爬蟲肯定是沒有滑鼠移動的,這樣的情況下肯定是會被反爬的,還有更嚴的,遇到需要點選某元素才能進行下一步的網站。
有困難肯定就有解決的方案,下面說一說使用Python寫爬蟲時,如何反反爬蟲。
1、關於headers,常見的為瀏覽器加入headers,需要設定Requests Headers裡面的內容。其中的每一個引數都有自己的作用,面對不同的網站時方法也不一樣。常見的就是設定User-Agent,並且要越多越好。
Plain Text
複製程式碼
1
2
3
4
#  設定IP切換頭
tunnel = random.randint(1,10000)
headers = {"Proxy-Tunnel": str(tunnel)}
2、關於代理
簡單方法就是購買,免費的和收費的相比還是差了不少。相信大家做了一些時間的爬蟲後,對各家代理的質量都是很清楚的,都有自己比較信賴的廠家。代理的使用也是很簡單的,不需要過多的講解。
Plain Text
複製程式碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 要訪問的目標頁面
targetUrl = "
# 要訪問的目標HTTPS頁面
# targetUrl = "
# 代理伺服器(產品官網 )
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,
}
3、關於cookie,請求會返回多個Cookie,我們從其中找到最有效的Cookie,這會極大的提高效率。
寫在最後,爬蟲一直都是大資料時代的熱門話題,今天介紹一些爬蟲偽裝技巧,若有錯誤或者有其他的反爬解決方案可以留言交流,想要更多的瞭解反爬知識的可以搜尋億牛雲獲取。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31522063/viewspace-2929528/,如需轉載,請註明出處,否則將追究法律責任。

相關文章