3
我嘗試用口音訪問一個網址,但它沒有工作:Python3與urllib而口音
#!/usr/bin/python3.3
# -*- coding: utf-8 -*-
import urllib.request
response = urllib.request.urlopen("http://nominatim.openstreetmap.org/search.php?city=Lévis&format=json")
content = response.read()
print(content)
當我執行這個代碼,我的回報
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 22: ordinal not in range(128)
所以有此錯誤我嘗試這個
response = urllib.request.urlopen("http://nominatim.openstreetmap.org/search.php?city=Lévis&format=json".encode("UTF-8"))
但仍然是一個錯誤
AttributeError: 'bytes' object has no attribute 'timeout'
你有什麼想法,我的錯誤在哪裏?
網址[不能包含任意的Unicode(http://en.wikipedia.org/wiki/URL#List_of_allowed_URL_characters)。你需要[以某種方式]逃避冒犯的角色(http://docs.python.org/3/library/urllib.parse.html#url-quoting)。 – Cairnarvon 2013-03-28 03:38:31