import scrapy
from scrapy.exceptions import DropItem
from scrapy.pipelines.images import ImagesPipeline
class PicsDownloadPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
yield scrapy.Request(item['goods_img'])
def item_completed(self, results, item, info):
# 將下載的圖片路徑(傳入到results中)存儲到 image_paths 項目組中,如果其中沒有圖片,我們將丟棄項目:
image_path = [x['path'] for ok, x in results if ok]
if not image_path:
raise DropItem("Item contains no images")
item['goods_img'] = image_path
return item