2012-08-10 79 views
0

我正在爲其當天的形象刮http://apod.nasa.gov/。到目前爲止,我已經能夠返回我認爲是圖像源標籤的內容。使用urllib2來掃描圖像的Python?

#!/usr/bin/env python 
from urllib2 import urlopen 
from BeautifulSoup import BeautifulSoup 

class Apod: 
    def apod_wallpaper(self): 
     self.soup = BeautifulSoup(urlopen('http://apod.nasa.gov/').read()) 
     self.pic = self.soup.find('img') 
     return self.pic 


print Apod().apod_wallpaper() 


>>> ./apod.py 

>>> <img src="image/1208/Ma2011-2Tezel900.jpg" name="imagename1" alt="See Explanation. 
Moving the cursor over the image will bring up an annotated version. 
Clicking on the image will bring up the highest resolution version 
available." /> 

我不知道如何下載實際的.jpg從這裏

回答

4

第1步:讀取HTML文件。

第2步:從您找到的圖像中提取src屬性。連接域http://apod.nasa.gov/src的值image/1208/Ma2011-2Tezel900.jpg以提供用於獲取圖像的URL。

第3步:在其上運行urlopen(...).read(),並將其寫入文件


例如:

data = urlopen('http://apod.nasa.gov/image/1208/Ma2011-2Tezel900.jpg').read() 
open('mypic.jpg', 'wb').write(data) 
+0

那麼,談論過度思考吧,:|感謝您的幫助,gahooa – tijko 2012-08-10 04:09:56

3

你想urlparse.urljoin()

>>> urlparse.urljoin('http://apod.nasa.gov/', 'image/1208/Ma2011-2Tezel900.jpg') 
'http://apod.nasa.gov/image/1208/Ma2011-2Tezel900.jpg' 
+0

像我上面的評論,絕對過度認爲這一個。我剛開始刮,並認爲有一個具體的方法。很酷,你展示了一個urlparse實例:D謝謝 – tijko 2012-08-10 04:11:35