Closed xkungfu closed 3 years ago
EXTENSIONS设置为空,通过ScheduledRequest添加任务,两次任务的网址如果一样,第二次添加的网址不工作。
跟踪到第二次添加任务后,执行到scrapy engine.py schedule函数,执行了self.signals.send_catch_log。 然后后面就不知道代码运行到哪里去了。
推测某个步骤有过滤功能,把第二次添加的任务过滤掉了。
请问过滤的步骤在哪个文件哪个函数?
蜘蛛配置如下: 'EXTENSIONS': {},
'EXTENSIONS': {},
def get_callback(self, callback): # url去重设置:True 不去重 False 去重 callback_dt = { 'list': (self.list_parse, True), 'detail': (self.detail_parse, True), } return callback_dt.get(callback)
在ScheduledRequest下添加dont_filter不起作用。
我的环境下测试正常。请确认下是否有把 ScheduledRequest 成功 push 到 redis
好的,我看看
找到原因了,dont_filter在SP>>spiders>>SPRedisSpider.py>>SPRedisSpider>>make_request_from_data这个函数中控制读取和设置。 谢谢!
EXTENSIONS设置为空,通过ScheduledRequest添加任务,两次任务的网址如果一样,第二次添加的网址不工作。
跟踪到第二次添加任务后,执行到scrapy engine.py schedule函数,执行了self.signals.send_catch_log。 然后后面就不知道代码运行到哪里去了。
推测某个步骤有过滤功能,把第二次添加的任务过滤掉了。
请问过滤的步骤在哪个文件哪个函数?
蜘蛛配置如下:
'EXTENSIONS': {},