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






