请参阅下面的我的代码,它使用Scrapy图像流水线从网站下载/刮图片实例版本:允许使用Scrapy Image Pipeline进行重复下载?
import scrapy
from scrapy_splash import SplashRequest
from imageExtract.items import ImageextractItem
class ExtractSpider(scrapy.Spider):
name = 'extract'
start_urls = ['url']
def parse(self, response):
image = ImageextractItem()
titles = ['a', 'b', 'c', 'd', 'e', 'f']
rel = ['url1', 'url2', 'url3', 'url4', 'url5', 'url6']
image['title'] = titles
image['image_urls'] = rel
return image
这一切工作正常,但按照默认设置,避免了重复下载。有什么方法可以覆盖这个,这样我就可以下载重复的东西了吗?谢谢。
谢谢,我试过了,它似乎没有工作。我怀疑图像管道源本身可能存在一些“重复检测代码” - 但从审查代码,我似乎无法在任何地方找到它。如果我能找到它,我可以更新它,这样我就可以通过自定义arg来跳过这一步。 –
我想我已经找到了它,看看'MediaPipeline'类的方法'_process_request'([link](https://github.com/scrapy/scrapy/blob/master/scrapy/pipelines/media.py ))。如果已经下载(基于请求指纹),它将从缓存中取得文件。不幸的是,似乎没有办法用任何参数或设置来定制它。 –
谢谢!我会尝试评论/调整一些源代码,看看我能否找到一种方法使其适用于我的应用程序。 –