该程序将提示输入位置、联系 Web 服务并检索 Web 服务的 JSON 并解析该数据,并从 JSON 中检索第一个 place_id。地点 ID 是一种文本标识符,可在 Google 地图中唯一标识某个地点。 API端点
要完成此任务,您应该使用具有 Google 数据静态子集的 API 端点:
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)
原文由 Jean Pierre Imanirumva 发布,翻译遵循 CC BY-SA 4.0 许可协议
似乎错误是这需要一个额外的参数(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