1
在settings中写入 IMAGES_STORE = ‘./images’
开启ITEM_PIPELINES ={
‘someproject.pipelines.ImagePipeline’ : 300,}
2
在pipelines中写入
'''此代码复制后可直接使用'''
from scrapy import Request
from scrapy.pipelines.images import ImagesPipeline
from scrapy.exceptions import DropItem
class ImagePipeline(ImagesPipeline):
def file_path(self, request, response=None, info=None):
url = request.url
file_name = url.split('/')[-1]
return file_name
def item_completed(self, results, item, info):
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem('Image Downloaded Failed')
return item
def get_media_requests(self, item, info):
yield Request(item['url'])
'''这里的item['url']必须是在spider中yield的下载图片的网址'''