爬蟲難點分析
阿新 • • 發佈:2017-08-22
訪問 瀏覽器 pan http 不能 放棄 代碼 取數據 storm URL抓取失敗
難點分析
1.網站采取反爬策略
2.網站模板定期變動
3.網站url抓取失敗
4.網站頻繁抓取ip被封
1.網站采取反爬策略
》網站默認對方正常訪問的方式是瀏覽器訪問而不是代碼訪問,為了防止對方使用大規模服務器進行爬蟲從而導致自身服務器承受過大的壓力,通常網站會采取反爬策略
根據這一特性,我們用代碼模擬實現瀏覽器訪問
2.網站模板定期變動—解決方案
》標簽變動,比如<div>變動,那麽我們不能把代碼給寫死了
(1)不同配置文件配置不同網站的模板規則
(2)數據庫存儲不同網站的模板規則
網站URL抓取失敗—解決方案
》可能網絡有問題,斷網、網絡波動、對方服務器的問題等都會導致網站
(1)HttpClient默認處理方式,比如嘗試三次
(2)Storm實時解析失敗日誌,將失敗URL重新加入抓取倉庫,一般超過三次就放棄。
網站頻繁抓取IP被封—解決方案
》這是我們爬蟲肯定會遇到的,比如對方可能會對你一段時間內發起訪問次數有所限制,超過限制就把你的IP給封了。下面是常見的幾種解決方式,實際上我們都是結合這些方式來降低IP被封的概率。
(1)購買代理IP庫,隨機獲取IP抓取數據
(2)部署多個應用分別抓取,降低單節點頻繁訪問
(3)設置每個頁面抓取時間間隔,降低被封概率
爬蟲難點分析