我正在尝试创建一个可以通过使用天气 api 成功告诉您天气的程序。这是我将使用的 api http://www.wunderground.com/weather/api/d/docs
我很难理解如何使用这个 Api。我发现它相当混乱。我尝试使用 wunderground 提供的示例代码,但它似乎在我的编辑器中不起作用(由于代码是另一个版本的 python。)我正在使用 python 3.5 任何评论和任何建议将不胜感激关于如何使用这个 api。
谢谢
我正在尝试创建一个可以通过使用天气 api 成功告诉您天气的程序。这是我将使用的 api http://www.wunderground.com/weather/api/d/docs
我很难理解如何使用这个 Api。我发现它相当混乱。我尝试使用 wunderground 提供的示例代码,但它似乎在我的编辑器中不起作用(由于代码是另一个版本的 python。)我正在使用 python 3.5 任何评论和任何建议将不胜感激关于如何使用这个 api。
谢谢
以下是针对 Python 3 修改的示例代码:
from urllib.request import Request, urlopen
import json
API_KEY = 'your API key'
url = 'http://api.wunderground.com/api/{}/geolookup/conditions/q/IA/Cedar_Rapids.json'.format(API_KEY)
request = Request(url)
response = urlopen(request)
json_string = response.read().decode('utf8')
parsed_json = json.loads(json_string)
location = parsed_json['location']['city']
temp_f = parsed_json['current_observation']['temp_f']
print("Current temperature in %s is: %s" % (location, temp_f))
response.close()
显然,您需要注册并获取 API 密钥。将该键用作 的值API_KEY
。如果您在登录时查看代码示例,则密钥已经为您插入到 URL 中。
您还可以使用requests
更易于使用并支持 Python 2 和 3 的模块:
import requests
API_KEY = 'your API key'
url = 'http://api.wunderground.com/api/{}/geolookup/conditions/q/IA/Cedar_Rapids.json'.format(API_KEY)
response = requests.get(url)
parsed_json = response.json()
location = parsed_json['location']['city']
temp_f = parsed_json['current_observation']['temp_f']
print("Current temperature in %s is: %s" % (location, temp_f))