爬虫实例

时间:2009-06-21 09:57:42

标签: search web-crawler

我正在构建一个大型网络爬虫,当在网络服务器场中的专用网络服务器上运行网页时抓取网页时,最佳实例数是多少。

2 个答案:

答案 0 :(得分:4)

spare_memory_on_machine / memory_footprint_of_crawler_process * 0.95

答案 1 :(得分:4)

要制作大型抓取工具,您必须处理以下问题:

•无法将信息保存在一个数据库中。

•没有足够的RAM来处理巨大的索引

•多线程性能和并发性

•Crawler陷阱(通过更改网址,日历,会话ID等创建的无限循环)和重复的内容。

•从多台计算机抓取

•格式错误的HTML代码

•来自服务器的持续http错误

•没有压缩的数据库,这使得您对空间的需求大约增加了8倍。

•重新抓取例程和优先级。

•使用带压缩的请求(Deflate / gzip)(适用于任何类型的爬虫)。

还有一些重要的事情

•尊重robots.txt

•每个请求都有一个爬虫延迟,不会窒息Web服务器。

最佳线程配置将取决于您的代码..我正在使用.net运行100个进程。我建议你使用一个计划类来避免不必要的开放线程。

PS。如果您使用5个线程,则需要数年才能实现“大规模”网络爬行。