2009-09-27 102 views
1

我希望能够下载图片(到我的电脑或网页服务器)调整大小,并将其上传到S3。这里所涉及的部分是:通过网页抓取图片并用Python保存

什么是推荐的方式来做Python中的下载部分(即,不想使用外部工具,bash等)。我希望它被存储到内存中,直到完成(与将图像下载到本地驱动器,然后使用它)。任何帮助深表感谢。

回答

3

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

1

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

的urllib例如:

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

在这种情况下,该文件没有存储在本地存储器中,而是作为与所生成的名称的临时文件。

0

你总是可以看看hand

如果我没有记错,这是书面抓住从网站动画片没有饲料

这个项目似乎已经死亡,因此它不再是一个选项。无论如何,使用urllib似乎是你在找什么。

+0

此链接不再有效。 – ninMonkey 2011-11-03 00:58:02

+0

感谢@monkey让我知道链接无法正常工作。我编辑了答案,因为该项目现在似乎已经死了。 – 2011-11-05 17:03:55