【问题标题】:BFS algorithm for web crawler in Python using Beautiful Soup?使用 Beautiful Soup 的 Python 中网络爬虫的 BFS 算法?
【发布时间】:2016-05-24 01:08:47
【问题描述】:

我必须创建自己的网络爬虫(用于教育目的),它会爬取每一个(或尽可能多的)保加利亚网站(.bg 域)并使用curl -I 命令返回它正在运行的服务器Linux shell 或requests 库。我正在使用一个类似数据库的大型网站,其中包含指向许多其他网站的链接作为一个很好的起点。

所以我必须检查每个站点中的每个链接并检查它正在运行的服务器,并将其推送到数据库中。棘手的是我需要打开每个链接并更深入地打开其他链接(如树)。所以我的想法是我必须使用 BFS 算法,将访问过的站点保存在一个列表中,并添加我还没有访问过的每个链接。我也只对基本 URL 感兴趣,而不是站点内的相关网页,因为我对运行站点的服务器感兴趣。换句话说,我应该只检查一次example.bg,我对example.bg/xyz/xyz/... 不感兴趣。

我真的不知道从哪里开始,所以我对使用Beautiful Souprequests 解决此问题的通用算法感兴趣。

【问题讨论】:

标签: python linux algorithm beautifulsoup


【解决方案1】:

正如您所说,您需要使用图遍历算法作为 BFS 或 DFS,为此我会首先考虑一种方法,将这些算法中的一个用于您想要的目的,基本上就是标记每个网络访问过的网站。不知道大家是否熟悉。我可以给你一个链接供你参考:http://www.geeksforgeeks.org/depth-first-traversal-for-a-graph/

其次,您可以开始使用 Beautiful Soup 并实现一种从 HTML 文件中提取感兴趣数据的方法。

【讨论】:

    猜你喜欢
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多