database - 爬虫应用的数据库系统

标签 database web-crawler

我正在开发基于 Java 的爬虫。我想在我的爬虫中使用恢复功能,用户可以随时暂停爬行,万一爬虫崩溃,他应该能够从爬虫停止的地方开始上一次爬行。

为此,我必须将所有外链(在任何页面找到的链接)存储在数据库中。我不确定哪种数据库最适合此类系统,因为它需要非常快速地从数据库插入和检索链接,而且插入和检索的频率会非常高。

很少有人建议我像 mongodb 这样的 no-sql,但我只是想确保它是此类系统的最佳选择。

最佳答案

crawler4j是一个java爬虫,也支持简历功能。所以,如果你只是想有一个爬虫,我建议使用它。但是如果你需要在自己的爬虫中集成这个功能,我建议使用 Berkeley DB。它是一种非常有效的基于键值的存储。您可以查看 crawler4j 的源代码,了解它如何使用 Berkeley DB 来非常快速地存储和检索需要抓取的 URL。

关于database - 爬虫应用的数据库系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747510/

相关文章:

javascript - 扫描 JavaScript 存在的工具?

javascript - 无法修复网页上的 VBA 爬网错误

python - scrapy拒绝规则不被忽略

database - SpagoBI 5.2 不显示保存的数据集。我应该怎么办?

.htaccess - 无法在 htaccess 或 robots.txt 中阻止 AspiegelBot

php - 阅读前 100 行

javascript - 无法连接到数据库-MySQLi错误

sql - 数据库系统如何知道特定列有多少个不同的值?

php - 如何对 sql 表中的不同值执行摘要

sql - 重复使用相同的查询,但只更新嵌套变量的值