用python脚本抓取gif动画



我一直在iOS上使用Pythonista来创建一些自动化脚本。

我有一个问题,我试图从远程url抓取动画gif。我编写了以下脚本:

import Image
from urllib import urlopen
from io import BytesIO
url = "http://someurl.com/funny.gif"
img = Image.open(BytesIO(urlopen(url).read()))

我得到的图像,但它似乎只是gif的第一帧?我猜这与字节io不读取整个文件有关,但我不确定?

希望我说对了。

你就快成功了。您使用img.seek来推进帧。所以. .

import Image
from urllib import urlopen
from io import BytesIO
url = 'http://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif'
img = Image.open(BytesIO(urlopen(url).read()))
# Start with first frame
img.seek(0)
#img.show()
# Advance by one
img.seek(img.tell() + 1)
#img.show()

这是一篇展示如何使用Image类保存gif的文章。

根据枕头手册:

要保存所有帧,save_all参数必须存在并设置为True。

因此,打开的图像可以保存:

image.save('filename.gif', save_all=True)

最新更新