[英]Python ValueError: unknown url type: space (?)
我正在Python 2.7中使用urllib2模塊,並使用Spyder 3.0通過讀取包含文本列表的文本文件來批量下載文本文件:
reload(sys)
sys.setdefaultencoding('utf-8')
with open('ocean_not_templated_url.txt', 'r') as text:
lines = text.readlines()
for line in lines:
url = urllib2.urlopen(line.strip('ï \xa0\t\n\r\v'))
with open(line.strip('\n\r\t ').replace('/', '!').replace(':', '~'), 'wb') as out:
for d in url:
out.write(d)
我已經在剝離后的網址中發現了一堆奇怪的字符,但是,腳本在完成將近90%時失敗,並給出以下錯誤:
我認為這是一個不間斷的空格(在代碼中用\\ xa0表示),但仍然失敗。 有任何想法嗎?
這是一個奇怪的網址!
指定網絡上的通信協議。 如果該文件存在於WWW上,則嘗試給URL加上http://
和域名作為前綴。
文件始終位於某個服務器目錄中的某個位置或系統中的本地位置。 因此,必須有指向此類文件的網絡路徑,例如:
http://127.0.0.1/folder1/samuel/file1.txt
同一個示例,其中localhost是127.0.0.1的別名(通常)
http://localhost/folder1/samuel/file1.txt
那可能會解決問題。 只要考慮一下您文件的位置以及應如何解決...
更新:
我對此做了很多實驗。 我想我知道為什么會出現該錯誤! :D
我推測您存儲URL的文件實際上在末尾有一個偷偷摸摸的 空行 。 我可以說它接近尾聲,正如您所說的那樣,它執行了大約90%的操作,然后失敗了。 因此,python urllib2函數get_type無法處理該空url並拋出
unknown url type:
我認為這就是問題所在! 刪除文件ocean_not_templated_url.txt
中的空行,然后嘗試一下!
只是檢查,讓我知道! :P
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.