【发布时间】:2016-05-24 01:08:47
【问题描述】:
我必须创建自己的网络爬虫(用于教育目的),它会爬取每一个(或尽可能多的)保加利亚网站(.bg 域)并使用curl -I 命令返回它正在运行的服务器Linux shell 或requests 库。我正在使用一个类似数据库的大型网站,其中包含指向许多其他网站的链接作为一个很好的起点。
所以我必须检查每个站点中的每个链接并检查它正在运行的服务器,并将其推送到数据库中。棘手的是我需要打开每个链接并更深入地打开其他链接(如树)。所以我的想法是我必须使用 BFS 算法,将访问过的站点保存在一个列表中,并添加我还没有访问过的每个链接。我也只对基本 URL 感兴趣,而不是站点内的相关网页,因为我对运行站点的服务器感兴趣。换句话说,我应该只检查一次example.bg,我对example.bg/xyz/xyz/... 不感兴趣。
我真的不知道从哪里开始,所以我对使用Beautiful Soup 和requests 解决此问题的通用算法感兴趣。
【问题讨论】:
-
查看
Scrapy或PySpider- 他们会立即为您解决大部分问题:stackoverflow.com/questions/27243246/…。
标签: python linux algorithm beautifulsoup