我创建一个Python(使用urllib2
地址与它非英文字符)语法分析器。 我们的目标是要找到每一个地址的坐标。
当我在Firefox中打开这个网址:
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(编码,用20%和等)在urllib2
(或Opera浏览器),其结果是
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