每天爬取數據量多少,如何才可更高效?
問題分析
對于該問題,沒有確切答案,需要根據實際情況而定.爬蟲最重要的問題是容錯率高,很多特殊情況都會影響爬蟲的效率和質量.
常見特殊情況
以下情況都可能影響爬取數據效率.
軟件條件
- 網頁報錯
- 動態驗證碼
- IP次數限制
- 時間限制
硬件條件
- 服務器配置(CPU,內存,帶寬)
- 網速
常見案例
1
- 包含問題: 網頁報錯,連接錯誤,手輸驗證碼
- 成功率: 80%
- 設備數: 一臺機器
- 爬內容: 段子
- 數據量: 不用分布式爬蟲 1天10W
2
- 包含問題: 去重,請求失敗,2級頁面爬取
- 成功率: 80%
- 設備數: 一臺機器
- 爬內容: 列表+詳情頁
- 數據量: 使用分布式爬蟲 1天15W
3
- 包含問題: IP并發次數限制,訪問次數限制
- 成功率: 70%
- 設備數: 一臺機器
- 爬內容: 新聞+圖片
- 數據量: 不使用分布式爬蟲 1天50W
4
軟硬件好的情況下,數據量可高達1300W.
詳情見
如何才能高效?
如果真的對性能要求很高,可以考慮下面方案.
多線程 : 一些成熟的框架如 Scrapy都已支持
分布式 : 數據量有TB級別可要考慮,否則別用,分布式需要考慮到機器,人員,網絡等成本.