每天爬取数据量多少,如何才可更高效?
问题分析
对于该问题,没有确切答案,需要根据实际情况而定.爬虫最重要的问题是容错率高,很多特殊情况都会影响爬虫的效率和质量.
常见特殊情况
以下情况都可能影响爬取数据效率.
软件条件
- 网页报错
- 动态验证码
- IP次数限制
- 时间限制
硬件条件
- 服务器配置(CPU,内存,带宽)
- 网速
常见案例
1
- 包含问题: 网页报错,连接错误,手输验证码
- 成功率: 80%
- 设备数: 一台机器
- 爬内容: 段子
- 数据量: 不用分布式爬虫 1天10W
2
- 包含问题: 去重,请求失败,2级页面爬取
- 成功率: 80%
- 设备数: 一台机器
- 爬内容: 列表+详情页
- 数据量: 使用分布式爬虫 1天15W
3
- 包含问题: IP并发次数限制,访问次数限制
- 成功率: 70%
- 设备数: 一台机器
- 爬内容: 新闻+图片
- 数据量: 不使用分布式爬虫 1天50W
4
软硬件好的情况下,数据量可高达1300W.
详情见
如何才能高效?
如果真的对性能要求很高,可以考虑下面方案.
多线程 : 一些成熟的框架如 Scrapy都已支持
分布式 : 数据量有TB级别可要考虑,否则别用,分布式需要考虑到机器,人员,网络等成本.