我的目标是收集每个特定网站的链接。这个网站是一个顶级的零售/电子商务网站,所以我希望我必须收集的链接数量非常高。我们的想法是首先访问页面的站点地图,然后收集该页面上可用的每个链接。然后,对于我收集的每个链接,跟随该链接并收集另一组链接,直到我可以得到尽可能多的链接。你知道吗
我遇到的问题是如何管理队列。我一直在使用不同的方法来跟踪我的进度,但是我对许多不同的因素有很多困惑,比如结构和不同的保存格式,似乎真的应该有一些约定来实现这一点?你知道吗
我发现了几个不同的库,如“persist queue”和python的标准队列库,但主要问题是这些。我不知道如何在运行之间保存我的队列(因为要收集的链接太多了),下一次程序启动时,我需要能够从停止的地方开始,同时动态地向这个队列添加更多尚未计算的链接。你知道吗
在我的程序中有很多不同的组件,所以下面只是我尝试的一些方法的摘录。基本上我做了一系列的检查来正确处理这些数据,比如:
for souplink in collectedlinks:
if souplink == '': continue
if rawsouplink in list_completerawlink: continue
if souplink in read_listlinks: continue
if not souplink in list_accumulated:
file_todo.write(souplink+'\n')
感谢您的帮助
您可能需要考虑简单地使用Scrapy,它为您完成了大部分工作。你知道吗
查看Link Extractors和Broad Crawls的文档。你知道吗
相关问题 更多 >
编程相关推荐