用Python的Scrapy的ImagesPipeline下载gif图片,下载下来的图片是gif格式但都是静态的不会动的,求大神

zz8234156 2017-12-17 02:08:26
以下是ImagesPipeline代码:

class ArticleImagePipeline(ImagesPipeline):

def get_media_requests(self, item, info): # 下载图片
for image_url in item['image_url']:
yield Request(image_url, meta={'item': item, 'index': item['image_url'].index(image_url)}) # 添加meta是为了下面重命名文件名使用

def file_path(self, request, response=None, info=None):
## start of deprecation warning block (can be removed in the future)
def _warn():
from scrapy.exceptions import ScrapyDeprecationWarning
import warnings
warnings.warn('ImagesPipeline.image_key(url) and file_key(url) methods are deprecated, '
'please use file_path(request, response=None, info=None) instead',
category=ScrapyDeprecationWarning, stacklevel=1)

# check if called from image_key or file_key with url as first argument
if not isinstance(request, Request):
_warn()
url = request
else:
url = request.url

# detect if file_key() or image_key() methods have been overridden
if not hasattr(self.file_key, '_base'):
_warn()
return self.file_key(url)
elif not hasattr(self.image_key, '_base'):
_warn()
return self.image_key(url)
## end of deprecation warning block

item = request.meta['item']
index = request.meta['index']
image_guid = item['title'] # change to request.url after deprecation
if item['image_url'][0][-4:] == ".gif":
return 'doutula/gif/%s.gif' % (image_guid)
if item['image_url'][0][-4:] == '.png':
return 'doutula/png/%s.png' % (image_guid)
return 'doutula/jpg/%s.jpg' % (image_guid)

def item_completed(self, results, item, info):
if "image_url" in item:
item["image_path"] = [x['path'] for ok, x in results if ok]
return item

我试过重写image_downloaded、get_images、convert_image,都不行啊~
...全文
388 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
frame_lei 2019-06-30
  • 打赏
  • 举报
回复
两年半过去了,楼主还在做爬虫吗

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧