英語以外の文字を含むアドレスのPython(を使用urllib2
)パーサーを作成しています。目標は、すべての住所の座標を見つけることです。
Firefoxでこの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
これは正しい結果です。
urllib2
ただし、 (またはOperaブラウザ)で同じURL(エンコードされた%20など)を開くと、結果は次のようになります。
200,4,49.7715220,13.2955410
これは正しくありません。最初のURLを開いて" "の結果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