gpt4 book ai didi

python - scrapy如何在动态start_urls中重复工作

转载 作者:行者123 更新时间:2023-11-30 22:58:42 25 4
gpt4 key购买 nike

情况如下:

我有一个函数A,它返回一个要抓取的url列表,并且在scrapy完成抓取之后,我希望scrapy(可能重新启动)从函数A获取一个新的url列表并重复抓取它们

正确的实现方式是什么?可以只用scrapy实现,不依赖其他软件吗?

使用字段start_urls时,(如start_url=functionA())似乎只获取一次,不重复抓取

最佳答案

确实不知道如何更新 functionA 提供的列表,但这应该可以满足您的需求。

class MySpider(Spider):
name = 'myspider'

idle_time = 0
def functionA(self):
# returns urls

def start_requests(self):
for url in self.functionA():
yield Request(url, callback=self.parse)
self.crawler.signals.connect(self.spider_idle,
signal=signals.spider_idle)

def spider_idle(self, spider):
# called when the spider is `idle`, before finishing
self.idle_time += 1
if self.idle_time < 10: # how many times you want to recrawl?
for url in self.functionA():
yield Request(url, callback=self.parse)


def parse(self, response):
# parse your urls

关于python - scrapy如何在动态start_urls中重复工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36086557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com