请帮我解决以下案例:Scrapy案例:增量更新项目
想象一下典型的分类类别页面。包含项目列表的页面。当你点击你登陆内部页面的项目时。目前我的抓取工具会抓取所有这些网址,进一步抓取这些网址以获取该项目的详细信息,检查是否将最初的种子URL作为任何下一页。如果有,它进入下一页并执行相同的操作。我将这些项目存储在一个SQL数据库中。
说3天后,种子URL中有新的itmes,我只想报废新项目。可能的解决方案如下:
在抓取每个项目时,我检查数据库以查看URL是否已被抓取。如果有,我只是要求Scrapy停止进一步爬行。 问题:我不想每次查询数据库。我的数据库将会非常大,并且最终会导致爬行超慢。
我尝试存储上次抓取的网址,并在开始时传递它,并在发现此last_scraped_url时立即停止抓取工具。 由于抓取网址的异步性质不是按照从种子网址接收的顺序进行抓取,因此不可能进行抓取。 (我尝试了所有方法,使之在有序的方式 - 但是这根本不可能)
任何人可以提出任何其他的想法?过去三天我一直在努力挣扎。
欣赏您的回复。
如何生成种子URL中的项目?你对此有任何控制吗? – 2013-03-21 00:27:29