scrapy框架内置了图片处理管道,用来对响应中的图片进行下载,可以直接使用,也可继承后自定义.
1 直接使用
在settings.py文件中加入:
ITEM_PIPELINES = {
# 图片处理管道
# 'scrapy.pipelines.p_w_picpaths.ImagesPipeline' : 2
}
IMAGES_URLS_FIELD = 'p_w_picpath_url' # 指定从哪个字段提取图片链接
base_dir = os.path.dirname(os.path.dirname(__file__))
IMAGES_STORE = os.path.join(base_dir,'p_w_picpaths') # 设置图片存放位置
2 继承后自定义
from scrapy.pipelines.p_w_picpaths import ImagesPipeline #导入
# 保存图片的Pipeline
class CnblogImagePipeline(ImagesPipeline):
# def process_item(self, item, spider):
# pass
def item_completed(self, results, item, info):
# 图片处理结果
status = results[0][0]
if status:
item['p_w_picpath_path'] = results[0][1]['path']
else:
item['p_w_picpath_path'] = ''
return item
在settin.py文件中加入该管道
转载于:https://blog.51cto.com/linqi/1975091