我在一个基于java的爬虫上工作。我想在我的爬虫恢复功能,用户可以在任何时候暂停爬虫,在他想要的情况下,爬虫崩溃的情况下,他应该能够开始从爬虫停止的点上一次爬行。
为此,我必须在数据库中存储所有outlink (在任何页面找到的链接)。我不确定哪个数据库是最好的这类系统,因为它需要非常快的插入和检索的链接从数据库和频率插入和检索将非常高。
很少有人建议我像mongodb那样使用no-sql,但我只想确保它是这类系统的最佳选择。
发布于 2012-01-06 03:05:09
crawler4j是一个java爬虫,也支持恢复功能。所以,如果你只是想要一个爬虫,我建议你使用它。但如果您需要在自己的爬虫程序中集成此功能,我建议您使用Berkeley DB。它是一种非常高效的基于键值的存储。你可以查看Crawler4j的源代码,看看它是如何使用Berkeley DB来快速存储和检索需要抓取的URL的。
https://stackoverflow.com/questions/8747510
复制相似问题