2017-07-19 66 views
-1

我有以下圖片鏈接: 「http://vignette2.wikia.nocookie.net/matrix/images/d/df/Thematrixincode99.jpg/revision/latest?cb=20140425045724圖片鏈接下載適用於Python 3中,而不是在Python 2.7版

中號無法使用它下列任何一種方法來下載Python的2.7.13:

# METHOD 1 
url = 'http://vignette2.wikia.nocookie.net/matrix/images/d/df/Thematrixincode99.jpg/revision/latest?cb=20140425045724' 
urllib.urlretrieve(url, "local-filename.jpg") 

# METHOD 2 
resp = urllib.urlopen(url) 
image_data = resp.read() 
f = open('/tmp/abc.jpg', 'wb') 
f.write(image_data); 
f.close(); 

req = urllib2.Request(img_url, headers={"User-Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.27 Safari/537.17"}) 
response = urllib2.urlopen(req, None,15) 
obj_file = open(output_file,'wb') 
data = response.read() 
obj_file.write(data) 
response.close(); 

每種情況下的輸出文件大小爲3KB。
如何找出下載圖片失敗的原因?有沒有解決辦法?

UPDATE:明白了它的工作原理上的Python 3需要Python的2.7

+0

問題不在於Python版本,但您的系統。你試圖下載的地方,你得到的錯誤是什麼? – Rahul

+0

我可以使用相同的代碼@Rahul下載其他圖像。一直在macOS上試用它。將嘗試在Ubuntu的一次。 – vishal

+0

剛剛意識到問題出在我們當地的IT管理部門阻止這個鏈接!我會刪除這個問題。感謝@Rahul的幫助。 – vishal

回答

1

工作解決方案嘗試多了一個更新:

import requests 
r = requests.get("http://vignette2.wikia.nocookie.net/matrix/images/d/df/Thematrixincode99.jpg/revision/latest?cb=20140425045724") 

with open("local-filename.jpg", 'wb') as f: 
    f.write(r.content) 
+0

這不太合適。 – vishal

+0

你應該試過你的解決方案之前張貼在這裏... – vishal

+0

那麼,它適用於我在python 3.5。我得到的文件大約是2.1 MB。 – Rahul