2011-04-28 30 views
16

基本上,我試圖在python中使用urllib2下載一個URL。ValueError:在urllib2中未知的url類型,雖然如果在瀏覽器中打開url就沒問題

的代碼如下:

import urllib2 
req = urllib2.Request('www.tattoo-cover.co.uk') 
req.add_header('User-agent','Mozilla/5.0') 
result = urllib2.urlopen(req) 

它輸出ValueError異常和節目粉碎爲在實施例的URL。 當我在瀏覽器中訪問網址時,它工作正常。

任何想法如何處理該問題?

UPDATE:

感謝本·詹姆斯和某事的問題是檢測=>添加的「http://」

現在的問題是細化: 是否有可能自動處理這類案件與一些內置函數或我必須做錯誤處理與後續字符串連接?

回答

26

當您在沒有協議的瀏覽器中輸入URL時,它默認爲HTTP。 urllib2不會爲你做出這個假設;你需要在前綴http://

5

您必須使用包含協議的完整URL,而不只是指定主機名。

正確的URL將是http://www.tattoo-cover.co.uk/

+1

是,某事物,善於觀察!所以後續問題:是否有可能通過一些內置函數將錯誤的URL轉換爲可接受的urllib2,或者我必須通過字符串操作(通過串聯'http://'+ string +'/')來進行錯誤處理 – Nik 2011-04-28 19:01:30

相關問題