如何解决2020在Spider完成抓取后抓取新的URL
2010年,有人写道Scrapy计划采取某种方法,使您可以在Spider完成后运行新请求。
有这样的功能吗? https://groups.google.com/forum/#!topic/scrapy-users/_HBmn4W-9kU
如果没有,我需要在所有URL都已爬网之后运行新请求,但是spider_idle
对我不起作用。它甚至没有记录IDLE。
@classmethod
def from_crawler(cls,crawler,*args,**kwargs):
spider = super().from_crawler(crawler,**kwargs)
crawler.signals.connect(spider.spider_idle,signal=signals.spider_idle)
return spider
def spider_idle(self,spider):
spider.logger.info('IDLE')
for t in Tender.objects.filter(date_published__gte=now() - timedelta(days=self.DAYS_AGO)).exclude(
last_scanning=self.scanning):
self.logger.debug(f'IDLE scraping {t.aquisition_number}')
yield self.build_list_request('',date_min=None,date_max=None,description=t.aquisition_number)
你知道怎么做吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。