我正在开发基于 Java 的爬虫。我想在我的爬虫中使用恢复功能,用户可以随时暂停爬行,万一爬虫崩溃,他应该能够从爬虫停止的地方开始上一次爬行。
为此,我必须将所有外链(在任何页面找到的链接)存储在数据库中。我不确定哪种数据库最适合此类系统,因为它需要非常快速地从数据库插入和检索链接,而且插入和检索的频率会非常高。
很少有人建议我像 mongodb 这样的 no-sql,但我只是想确保它是此类系统的最佳选择。
最佳答案
crawler4j是一个java爬虫,也支持简历功能。所以,如果你只是想有一个爬虫,我建议使用它。但是如果你需要在自己的爬虫中集成这个功能,我建议使用 Berkeley DB。它是一种非常有效的基于键值的存储。您可以查看 crawler4j 的源代码,了解它如何使用 Berkeley DB 来非常快速地存储和检索需要抓取的 URL。
关于database - 爬虫应用的数据库系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747510/