2017-05-30 81 views
-1

我有一個長期存在的問題urllib.request。我做什麼:urllib.request.urlopen:ValueError:未知的url類型

wahlrecht = urllib.parse.quote("http://www.wahlrecht.de/umfragen/") 
page = urllib.request.urlopen(url) 

下面是完整的回溯,我得到:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Users/d069049/Documents/BCCN/Predictor/Backend/wahlrecht_polling_firms.py", line 72, in get_tables 
    page = urllib.request.urlopen(wahlrecht) 
    File "/Users/d069049/anaconda/envs/bccn2017/lib/python3.6/urllib/request.py", line 223, in urlopen 
    return opener.open(url, data, timeout) 
    File "/Users/d069049/anaconda/envs/bccn2017/lib/python3.6/urllib/request.py", line 511, in open 
    req = Request(fullurl, data) 
    File "/Users/d069049/anaconda/envs/bccn2017/lib/python3.6/urllib/request.py", line 329, in __init__ 
    self.full_url = url 
    File "/Users/d069049/anaconda/envs/bccn2017/lib/python3.6/urllib/request.py", line 355, in full_url 
    self._parse() 
    File "/Users/d069049/anaconda/envs/bccn2017/lib/python3.6/urllib/request.py", line 384, in _parse 
    raise ValueError("unknown url type: %r" % self.full_url) 
ValueError: unknown url type: 'http%3A//www.wahlrecht.de/umfragen/' 
+1

嗯,嗯...你爲什麼在打開它之前引用網址?當然這會使它失效...... –

回答

1

你解析:彷彿它指定參數時,你需要打開URL引用沒有它。 否則,你試圖打開http%3A 以下行創建您的問題

wahlrecht = urllib.parse.quote("http://www.wahlrecht.de/umfragen/") 

如果將其更改爲

wahlrecht = "http://www.wahlrecht.de/umfragen/" 

它應該工作