簡體   English   中英

Python ValueError:未知的url類型:空格(?)

[英]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

同一個示例,其中localhost127.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM