1
我想將下載圖片的文件名從它現在得到的哈希值更改爲圖片alt標籤或類似的東西。在scrapy 0.16中,如何更改通過圖像管道下載的圖像的文件名?
from scrapy.http import Request
from scrapy.contrib.pipeline.images import ImagesPipeline
from scrapy.exceptions import DropItem
from scrapy.http import Request
class DocosPipeline(object):
def process_item(self, item, spider):
return item
class DocosImagesPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['image_urls']:
yield Request(image_url)
def item_completed(self, results, item, info):
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem("Item contains no images")
item['image_paths'] = image_paths
return item
我試過重寫image_key類,但我似乎無法得到它的權利。這裏的類:
def image_key(self, url):
image_guid = hashlib.sha1(url).hexdigest()
return 'full/%s.jpg' % (image_guid)
我真的堅持在這裏任何幫助將不勝感激。