我想出一个面试问题,想了解您对此的看法。问题是,在设计网络搜寻器时:
1)用DFS和BFS会打什么样的页面?
2)如何避免陷入无限循环?
我很高兴有人可以回答他们。
1)用DFS和BFS会打什么样的页面?
在大多数情况下,我将使用BFS算法来实现蜘蛛程序,因为我想从网页获取的最有价值的信息没有太多的链接深度,否则,我认为由于设计不良,该站点没有太多的价值。
如果我想从一些具体的数据一个从几跳,并在同一时间,我想看到的蜘蛛运行后不久,结果页面和其他相关数据的话,我可能会选择DFS算法。说,我想从stackoverflow获取所有标签。标签页在这里。同时,我想让谁回答标签中的哪些问题。我想检查蜘蛛网是否正常运行。然后,我使用DFS算法在蜘蛛运行后立即获取数据标签问题和答案。
总之,这取决于使用情况。
2)如何避免陷入无限循环?
这个问题可能很简单。解决方案如下:
我记得scrapy似乎可以解决第二个问题。您可以阅读其源代码以寻找更好的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句