我使用非英文字符創建Python(使用urllib2
)地址的解析器。目標是找到每個地址的座標。Google http://maps.google.com/maps/geo使用非英文字符查詢
當我在火狐打開該URL:
http://maps.google.com/maps/geo?q=Czech%20Republic%2010000%20Male%C5%A1ice&output=csv
它被轉換(在地址框改變)
http://maps.google.com/maps/geo?q=Czech Republic 10000 Malešice&output=csv
並返回
200,6,50.0865113,14.4918052
這是一個正確結果。
然而,如果我打開相同的URL在urllib2
(或Opera瀏覽器)(編碼,用20%和等),結果是
200,4,49.7715220,13.2955410
這是不正確。如何打開urllib2
中的第一個網址以獲得「200,6,50.0865113,14.4918052
」結果?
編輯:
代碼使用
import urllib2
psc = '10000'
name = 'Malešice'
url = 'http://maps.google.com/maps/geo?q=%s&output=csv' % urllib2.quote('Czech Republic %s %s' % (psc, name))
response = urllib2.urlopen(url)
data = response.read()
print 'Parsed url %s, result %s\n' % (url, data)
輸出
Parsed url http://maps.google.com/maps/geo?q=Czech%20Republic%2010000%20Male%C5%A1ice&output=csv, result 200,4,49.7715220,13.2955410
請問您可以使用urllib2.open指定確切的代碼行嗎? – sergzach
可能的重複:[使用python編碼URL的百分比](http://stackoverflow.com/questions/12114853/percent-encoding-url-with-python/12114958)(用於Google Maps API)。 –