|
class TupianPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield [scrapy.Request(image_url,meta={'name':item['image_name']})]
def item_completed(self, results, item, info):
if not results[0][0]:
raise DropItem('下载失败')
return item
def file_path(self, request, response=None, info=None):
name=requests.meta['name']
image_name=requests.url.split('/')[-1]
folder_strip = re.sub(r'[?\\*|“<>:/]', '', str(name))
filename = u'{0}/{1}'.format(folder_strip, image_name)
return filename

我在get_media_requests函数中 yield中添加了一个meta 然后就下载失败了 去掉就可以 |
|