通过网络获取图像并使用Python保存

时间:2009-09-27 02:00:00

标签: python image

我希望能够下载图像(到我的电脑或网络服务器)调整大小,然后将其上传到S3。这里涉及的是:

在Python中进行下载部分的推荐方法是什么(即,不想使用外部工具,bash等)。我想将它存储到内存中直到完成(而不是将图像下载到本地驱动器,然后使用它)。非常感谢任何帮助。

4 个答案:

答案 0 :(得分:3)

urllib(简单但有点粗糙)和urllib2(功能强大但有点复杂)是推荐的标准库模块,用于从URL(内存或磁盘)中获取数据。对于足够简单的需求,x=urllib.urlopen(theurl)将为您提供一个对象,允许您访问响应标头(例如,查找图像的内容类型)和数据(如x.read()); urllib2的工作方式类似,但允许您控制代理,用户代理,coockies,https,身份验证等,而不仅仅是简单的urllib

答案 1 :(得分:1)

Pycurlurlliburllib2都是选项。 Pycurl是libcurl的Python接口,urllib和urllib2都是Python标准库的一部分。 urllib很简单,urllib2更强大但也更复杂。

urllib示例:

import urllib
image = urllib.URLopener()
image.urlretrieve("http://sstatic.net/so/img/logo.png")

在这种情况下,文件不存储在本地存储器中,而是存储为具有生成名称的临时文件。

答案 2 :(得分:0)

考虑:

import urllib
f = urllib.urlopen(url_of_image)
image = f.read()

http://docs.python.org/library/urllib.html

答案 3 :(得分:0)

您可以随时查看hand

如果我没记错的话,写的是从没有饲料的网站上抓取漫画

这个项目似乎已经死了,所以它不再是一个选择。无论如何,使用urllib似乎是你正在寻找的。