我正在使用scrapy在内部网络应用上执行测试。 完成所有测试后,我使用CrawlSpider进行检查,我为每个响应运行HTML验证器,然后查找404媒体文件。
除此之外它工作得非常好:最后抓取,GET
随机顺序的事情......
因此,执行DELETE操作的URL正在执行其他操作之前。
我想在最后安排所有删除。我尝试了很多方式,使用这种调度程序:
class DeleteDelayer(object):
def enqueue_request(self, spider, request):
if request.url.find('delete') != -1:
log.msg("delay %s" % request.url, log.DEBUG)
request.priority = 50
但是它不起作用......我看到删除在日志中是“延迟”,但它们在执行期间执行。
我想过使用一个可以在内存中堆积所有删除URL的中间件,并且在调用spider_idle
信号时将它们重新放入,但我不确定如何执行此操作。
实现这一目标的最佳方式是什么?
答案 0 :(得分:1)