全國咨詢/投訴熱線:400-618-4000

华体网足球即时指数:常用的反反爬蟲應對策略

踢球者即时指数比分 www.148329.live 更新時間:2020年09月18日15時57分 來源:傳智播客 瀏覽次數:

現如今因為搜索引擎的流行,網絡爬蟲已經成了很普及的技術了,除了專門做搜索的Google、Yahoo、百度以外,幾乎每個大型門戶網站都會有自己的搜索引擎,更不用說還有各種不知名的小型爬蟲了。一些智能的搜索引擎爬蟲的爬取頻率比較合理,不會消耗過多網站的資源,但是,很多網絡爬蟲對網頁的爬取能力很差,經常并發上百個請求循環重復爬取,這種爬蟲對中小型網站造成的訪問壓力非常大,很有可能會導致網站訪問速度緩慢,甚至無法訪問,因此現在的網站會采取一些反爬蟲措施來阻止爬蟲的不當爬取行為。

對于采取了反爬蟲措施的網站,爬蟲程序需要針對這些措施采取相應的應對策略,才能成功地爬取到網站上的數據。常用的應對策略包括以下幾種。

1. 偽裝User-agent

User-agent表示用戶代理,是HTTP協議中的一個字段,其作用是描述發出HTTP請求的終端信息,比如操作系統及版本、瀏覽器及版本等,服務器通過這個字段可以知道訪問網站的是誰。

每個正規的爬蟲都有固定的User-agent,因此,只要將這個字段設為知名的用戶代理,就能夠成功偽裝。不過,不推薦偽裝知名爬蟲,因為這些爬蟲很可能有固定的IP,如百度爬蟲。這里,我們推薦若干個瀏覽器的User-agent,在每次發送請求的時候,隨機從這些用戶代理中選擇一個就行,具體如下:

Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0

2. 使用代理IP

如果網站根據某個時間段以內IP訪問的次數來判定是否為爬蟲,一旦這些IP地址被封掉后,User-agent偽裝就失效了。遇到這種情況,可以使用代理IP完成。所謂代理IP就是介于用戶和網站之間的第三者,即用戶先將請求發送給代理IP,之后代理IP再發送到服務器,這時服務器會將代理IP視為爬蟲的IP,同時用多個代理IP,可以降低單個IP地址的訪問量,極有可能逃過一劫。

有些網站提供了一大批代理IP,我們可以將其存儲起來以備不時之需。不過,很多代理IP的壽命比較短,需要有一套完整的機制來校驗已有代理IP的有效性。

3. 降低訪問頻率

如果沒有找到既免費又穩定的代理IP,則可以降低訪問網站的頻率,這樣做可以達到與用戶代理一樣的效果,防止對方從訪問量上認出爬蟲的身份,不過爬取效率會差很多。為了彌補這個缺點,我們可以基于這個思想適時調整具體的操作。例如,每抓取一個頁面就休息若干秒,或者限制每天抓取的頁面數量。

4. 驗證碼限制

雖然有些網站不登陸就能訪問,但是它一檢測到某IP的訪問量有異常,就會馬上提出登陸要求,并隨機提供一個驗證碼。碰到這種情況,大多數情況下需要采取相應的技術識別驗證碼,只有正確輸入驗證碼,才能夠繼續爬取網站。不過,識別驗證碼的技術難度還是比較大的。


猜你喜歡:

python爬蟲可以用來做什么?

聚焦爬蟲工作原理介紹

爬蟲分類分析:網絡爬蟲有哪些分類?

Python下載和安裝圖文教程

{ganrao} 秒速赛车开奖官网 免费股票分析软件排名 上海有哪些期货配资 辽宁11选五开奖结果 期货配资公司怎么找 北京快乐8总和大小有多少注 辽宁快乐12top10遗漏 手机版急速赛车 怎么分析快三走势图 河南福彩22选5下期预测 南京期货配资 福州体育彩票36选7 二分时时彩计划专业版 股票配资利息 江苏11选五任五遗漏 新疆时时彩官网10