KeyError: 'telephone'
时间: 2024-01-16 07:02:27 浏览: 23
在使用百度地图API查询商家信息时,有些商家可能没有提供电话号码,这时候就会出现`KeyError: 'telephone'`的错误。解决这个问题的方法是,在获取电话号码时,先判断一下是否存在,如果存在再进行获取。以下是一个简单的示例代码:
```python
import requests
# 替换为你的百度地图API密钥
ak = "your_api_key"
# 商家名称
query = "星巴克"
# 商家所在城市
region = "北京市"
# 构造请求URL
url = "http://api.map.baidu.com/place/v2/search?query={}®ion={}&output=json&ak={}".format(query, region, ak)
# 发送请求并获取响应数据
response = requests.get(url)
data = response.json()
# 解析响应数据,获取商家信息
if data["status"] == 0 and len(data["results"]) > 0:
result = data["results"][0]
print("商家名称:", result["name"])
print("商家地址:", result["address"])
if "telephone" in result:
print("电话号码:", result["telephone"])
else:
print("电话号码:暂无")
else:
print("查询失败:", data["message"])
```
在上面的代码中,我们先判断了`result`字典中是否存在`telephone`这个键,如果存在就获取电话号码,否则就认为电话号码是暂无的。这样就可以避免`KeyError: 'telephone'`的错误了。