该程序将提示输入位置,联系Web服务并检索Web服务的JSON并解析该数据,并从JSON中检索第一个place_id。地点ID是一个文本标识符,用于在GoogleMap中唯一标识一个地点。API端点
要完成此任务,您应该使用此API端点,该端点具有Google数据的静态子集:
http://py4e-data.dr-chuck.net/json-此API使用与Google API相同的参数(地址)。此API也没有速率限制,因此您可以随时测试。如果你访问的URL没有参数,你会得到“没有地址。..”回答。
我已经完成了这个任务,但代码没有运行。我是JSONDecodeError每当我运行程序。
import urllib.request, urllib.parse, urllib.error
import json
adr= 'http://py4e-data.dr-chuck.net/json?'
while True:
loca= input('Enter Location: ')
if len(loca)<1:break
url=adr + urllib.parse.urlencode({"address": loca})
print('Retrieving', url)
fha=urllib.request.urlopen(url)
data=fha.read().decode()
print('Retrieved', len(data))
jsdata=json.loads(str(data))
placeid= jsdata['results'][0]['place_id']
print('The Place ID is: ', placeid)
7条答案
按热度按时间aemubtdh1#
beq87vna2#
似乎错误在于这需要一个额外的参数(Key)
编辑:检查文档https://www.py4e.com/code3/geodata/README.txt
示例1:
http://py4e-data.dr-chuck.net/json?key=42&address=Monash+University
示例2:
http://py4e-data.dr-chuck.net/json?key=42&address=Kokshetau+Institute+of+Economics+and+Management
laawzig23#
这是查询的最新代码
cbwuti444#
r9f1avp55#
bkhjykvo6#
使用urllib从URL打开和收集数据。JSON来解析数据并在JavaScript中加载。我们会得到结果的,i。即使用
placeid = js['results'][0]['place_id']
的位置ID。rmbxnbpk7#
你无法让程序工作的原因是因为你丢失了密钥,当你运行程序时,他们说它:缺少/不正确的键=参数(这是一个很容易猜到的数字)。..
我猜他们开玩笑说的是42岁,在银河系搭车指南中,这是生命的意义。