search-engine - 网络爬虫使用 BFS 还是 DFS?

标签 search-engine web-crawler depth-first-search breadth-first-search

我的任务是为搜索引擎创建一个简单的网络爬虫。现在,爬虫应该如何准确地映射网络?按照他找到的第一个链接永不返回,或者一些更高级的搜索方法,如 BFS 或 DFS?

最佳答案

我确实注意到我回答这个问题有点晚了,但尽管如此,这是一个有趣的讨论。

BFS 似乎是一个不错的策略,因为它可以提供帮助 *避免连续请求到单个主机*,在一定程度上。也取决于您的域。您仍然需要处理服务器超时,但 DFS 肯定会造成一些伤害。再次,在 DFS 中,您可以有循环引用 , 无限循环运行 ;除非你做出一些明确的安排。

可以有其他更合适的选择,但在 DFS 和 BFS 之间,在我看来,BFS 获胜。

关于search-engine - 网络爬虫使用 BFS 还是 DFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11775256/

相关文章:

google-api - 无法在 Google 自定义搜索 api 上获取超过 100 个结果的结果

search-engine - 必应搜索 API : Narrow by date

python - Facebook 抓取权限申请表?

python - 对回调之间的项目加载器进行故障排除

javascript - Google 的爬虫索引异步加载的元素吗?

java - 获取搜索结果 - lucene 4.4.0

seo - 重复内容和国际网站澄清

algorithm - 如果我们反转图形(使用 Kosaraju 的算法),SCC 模式会改变吗?

java - 带循环的深度优先搜索

c - 程序知道图中从 1 到 n 的所有可能路径