Python Scrapy-允许媒体管道下载已下载的URL

Python Scrapy-允许媒体管道下载已下载的URL,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我正在使用媒体管道将各种文件下载到磁盘,但它似乎阻止了以前下载的文件(具有相同的url)的下载。我希望它不要这样做,我希望重复的图像被下载(它们是用不同的文件名编写的)。是否有某种方法可以覆盖此行为并允许媒体管道处理相同的url (使用scrapy 0.24)我查看了媒体管道中使用的类,似乎任何媒体请求的指纹都是mae,以避免下载重复的 在请求中,指纹方法描述了创建请求的sha1散列,包括请求头等数据 为了允许重复请求,我在标题值中包含了该项目特有的一段数据(以生成唯一的指纹),如下所示: 我希

我正在使用媒体管道将各种文件下载到磁盘,但它似乎阻止了以前下载的文件(具有相同的url)的下载。我希望它不要这样做,我希望重复的图像被下载(它们是用不同的文件名编写的)。是否有某种方法可以覆盖此行为并允许媒体管道处理相同的url


(使用scrapy 0.24)

我查看了媒体管道中使用的类,似乎任何媒体请求的指纹都是mae,以避免下载重复的

在请求中,指纹方法描述了创建请求的sha1散列,包括请求头等数据

为了允许重复请求,我在标题值中包含了该项目特有的一段数据(以生成唯一的指纹),如下所示:


我希望这能帮助其他寻找下载媒体复制请求方法的人。如果有一种方法可以做到这一点而不必使用像这样的头,那就太好了,因为我想,一个意外的头可能会混淆目标站点。如果有人有更好的解决方案,请告诉我。

我也面临同样的问题,但在我的情况下,附加标题没有帮助。另外,我想知道为什么请求参数dont_filter在MediaPipeline中不起作用。
def get_media_requests(self, item, info):
    if isinstance(item, ExampleMedia):
        request = Request("http://example.com/medialibrary/"+str(item['mediaID']))
        request.meta['item'] = item
        request.headers['fpBuster']=item['uniqueID']
        yield request