需要安装第三方库:
安装 pillow库
pip install -i https://pypi.doubanio.com/simple pillow
如何对图片进行自动下载?
首先明白,图片去哪下?图片如何下?保存到哪?
setting:
ITEM_PIPELINES = { 'ArticleSpider.pipelines.JobbolePipeline': 2, # 注册scrapy自带的下载器,后面带的值越小越先执行 'scrapy.pipelines.images.ImageHandle': 1 } # 指定获取图片url的字段名称 IMAGES_URLS_FIELD = "img_url" # 指定图片的下载路径,同级目录的images目录下 project_dir = os.path.abspath(os.path.dirname(__file__)) IMAGES_STORE = os.path.join(project_dir, 'images')
如何获得图片的路径并保存?
在pipelines.py中定义一个处理图片的类,继承scrapy中处理的图片的类
from scrapy.pipelines.images import ImagesPipeline class JobboleImagerPipeline(ImagesPipeline): """ 获得图片下载路径 """ def item_completed(self, results, item, info):
# 如果解析到图片的url,添加图片url字段 if 'img_url' in item: for key, value in results: # print(key) img_path = value['path'] # print(value['path']) item['img_path'] = img_path return item