Python:scrapy中使用ImagesPipeline下载图片问题
黄舟
黄舟 2017-04-17 12:00:24
[Python讨论组]

运行环境

操作系统:windows7 64位
python:2.7.6 64位
scrapy:scrapy-0.22.2

问题描述

使用ImagesPipeline 下载图片的时候,已经在setting.py中指定了图片的保存地址:
IMAGES_STORE = 'image-downloaded/'
但是 运行的时候,在“image-downloaded”目录下却没看到图片。

源码在这里下载

在pipline文件中增加了image_key函数,代码如下:

def image_key(self, url):
        year,month = url.split('/')[-3],url.split('/')[-2]
        image_guid = hashlib.sha1(url).hexdigest()
        img_path = "%s/%s/%s" % (year,month,self.title)
        return '%s/%s.jpg' % (img_path, image_guid)
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
巴扎黑

刚刚仔细检查了下cmd输出:发现有个错误:

IOError: decoder jpeg not available

这个应该是pillow(pil的替代品)的问题,于是卸载了pillow(命令:pip uninstall pillow),然后重新安装了(命令:pip install pillow),发现无法下载,于是在Python第三方windows模块安装包下载对应版本的pillow进行安装,重新启动爬虫,发现图片可以正常下载了。

怪我咯

Pipeline 里需要 image_key 返回文件名

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号