在使用爬蟲的過程中,這些情況你是否遇到過?
沒采多久就采集不到數據了
采集了好半天,最后發現采集的內容與網頁中的內容不一致
剛開始采集的好好的,再往后采集的數據有字段竟然是空的
這些情況都是由于采集的網站有反爬策略導致的。
l 網站反爬原理
網站反爬,其原理是服務器通過訪問者請求中夾帶的一些訪問者的信息,來識別訪問者,并對訪問者進行限制。
比如服務器通過請求識別到訪問者IP,對同一個IP訪問頻率做出了限制,那么當同一個IP訪問頻率超過限制時,訪問就會出現問題。
l 常見的網站反爬策略
1.僅限制用戶IP訪問頻率
限制IP訪問頻率通常表現為:當使用本地IP采集速度高于某頻率時,就會出現采集錯誤,頁面重定向等情況。當訪問者IP信息存儲在cookie中時,會增加爬蟲難度。
2.限制用戶ID訪問頻率
限制用戶ID通常表現為:采集一段時間后,停止采集/采集錯誤,瀏覽器中該頁面顯示不出來(頁面重定向、有驗證碼、錯誤頁面等情況),清空瀏覽器瀏覽記錄后,再次打開又可以正常顯示。
這時可以看頁面的cookie來確認服務器是否限制用戶ID,當訪問頁面的cookie中有UID或其他ID字符串時,表示服務器對用戶ID有識別。還有一種對UID加密的情況,這是cookie中有一串加密后的字符串。
3.用戶IP訪問頻率用戶ID訪問頻率雙重限定
雙重限制通常表現為:采集一段時間后,停止采集/采集錯誤,瀏覽器中該頁面顯示不出來(頁面重定向、有驗證碼、錯誤頁面等情況),清空瀏覽器瀏覽記錄后,再次打開又可以正常顯示。爬蟲設置為多通道采集后采集一段時間發現IP被封了。也可通過觀察頁面cookie中是否既有IP又有UID/UID加密的信息,來進行判斷。
l 爬蟲高能反爬機制
前嗅ForeSpider數據采集引擎根據網站常見的幾種反爬策略,研發了對應解決的設置,用戶在使用過程中可以針對不同反爬,進行對應的設置。
1.爬蟲接入代理IP
前嗅ForeSpider數據采集系統,可接入第三方動靜態代理IP,支持全網幾乎所有代理IP運營商。接入后可進行連接測試,設置通道采集,模擬多個通道進行采集的過程,可設置全局代理IP,還可進行動態IP鎖定,真實模擬IP獲取數據的過程。
設置介紹:
①接入動靜態代理IP
可接入第三方代理IP,動態和靜態均可。
②代理IP測試
接入第三方代理IP后,可測試其有效性。
③代理IP優化
優化無效代理,優化響應過慢代理。
④多通道采集
多線程采集時,真實模擬多個通道進行采集的過程。
⑤動態IP鎖定
將動態IP與運行時獲取一條數據的一組請求鎖定,更真實的模擬IP獲取數據的過程。
⑥全局代理IP設置
設置全局代理IP,全局均能使用代理IP。
2.模擬用戶瀏覽行為
前嗅ForeSpider數據采集系統,可以智能模擬瀏覽器和用戶行為,突破反爬蟲限制。用戶可通過瀏覽器模擬人工采集設置、調節采集速度、設定定時采集策略、代理IP設置等設置,智能模擬用戶瀏覽行為,有效預防網站反爬,降低被識別風險與頻率,高效采集網頁數據。
設置介紹:
①智能模擬瀏覽器和用戶行為,突破反爬蟲限制。
②自動抓取網頁的各類參數和下載過程的各類參數。
③支持動態 IP 代理加速,智能過濾無效 IP 代理,提升代理的利用效率和采集質量。
④支持動態調整數據抓取策略,多種策略讓您的數據無需重采,不再擔心漏采,數據采集更智能。
⑤自動定時采集
⑥設置模擬瀏覽器版本,或進行自定義。還可以模擬國家地區的默認語言。
3.偽裝網絡延遲超時策略
前嗅ForeSpider采集器,可設置網絡延時超時策略,模擬人工加載請求,避免因加載時間過長、加載太慢而導致的數據獲取失敗的情況,提高數據采集成功率,高效采集。
設置介紹:
網絡超時包括接收超時、發送超時、重試次數。下圖所示表示接收超時60秒以內,發送超時低于8s的均可一直加載,如果失敗,可重試5次。當采集出現網絡錯誤的提示時,可以將接收超時設置的更長一些。
適用場景:
適用于網絡不穩定、訪問目標網站服務器不穩定等原因導致的發送請求超時、接收請求時間長的情況下,進行數據采集。設置高的超時上限和重試次數,可避免因此而采集失敗的情況,提高采集效率。
4.識別反爬自動預警
ForeSpider爬蟲軟件自帶反爬預警功能,在爬蟲采集過程中,遇到網絡異常、網站反爬等情況,可以對應做出預警反應如:暫停采集、休眠等反應,并及時做出預警提醒,縮短錯誤發現周期,防止惡意封堵。有效避免由于網站反爬導致的數據采集不全、采集無用數據、采集空數據的情況,避免重復采集。可以大幅提高無人化數據運維水平,減少網絡帶寬和代理IP的浪費,及時監測到由于反爬帶來的網絡異常狀況。
設置介紹:
預警設置:運行時遇到因網絡異常而導致的請求失敗,系統會自動預警。可再次設置網絡異常次數、反爬識別次數、預警操作和預警提醒方式。
①網絡異常
可以設置網絡異常連續多少次,則進行預警提醒。
②反爬識別
可以設置疑似被反爬了多少次,則進行預警提醒。
③預警操作
設置當出現預警時,軟件會進行什么操作。
A.無:軟件仍然照常操作。
B.暫停:軟件暫停,等待處理。
C.自動休眠:預留。
D.自動更換代理:預留。
④預警提醒
A.不提醒:不進行提醒。
B.圖標閃爍:軟件任務欄的圖標閃爍。
C.彈窗等待:軟件彈出彈窗,等待人工處理。
5.偽造Cookie迷惑服務器
前嗅ForeSpider數據爬取軟件可采集需要Cookie的網站數據,可自動生成cookie,也可手動添加cookie,獲取數據。
概念介紹:
Cookie:Cookie指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據,由盧·蒙特利于1993年3月發明。Cookie基于 Internet的各種服務系統應運而生,是由 Web 服務器保存在用戶瀏覽器上的小文本文件,它可以包含有關用戶的信息,是用戶獲取、交流、傳遞信息的主要場所之一。
設置介紹:
Cookie設置:采集需要Cookie的網站數據時,軟件可以自動生成網站需要的Cookie,即可獲取到該頁面數據。
好了,看到這里,大家是不是有些躍躍欲試了,那就趕緊行動起來吧。如果在操作過程中遇到問題,可以隨時聯系前嗅技術老師進行咨詢。
l 前嗅簡介
前嗅大數據,國內領先的研發型大數據專家,多年來致力于為大數據技術的研究與開發,自主研發了一整套從數據采集、分析、處理、管理到應用、營銷的大數據產品。前嗅致力于打造國內第一家深度大數據平臺!