2009-09-27 101 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