想要制作一款能够查询天气的Python脚本,我们可以从以下步骤入手:
步骤一:获取天气API
要想制作能够查询天气的Python脚本,我们需要先获取一个天气API。目前市面上的天气API有很多种,比如心知天气、和风天气等。这里我们以心知天气为例,具体操作步骤如下:
- 进入心知天气官网(https://www.seniverse.com/ ),注册并登录账号。
- 在账户管理页面向下滚动,找到"我的API" ,点击"新建API"按钮,创建自己的API。
- 创建完成后,在API管理页面中找到"API密钥",这个密钥将会在Python脚本中作为验证信息的一部分,我们稍后会用到。
步骤二:安装requests库
通过Python进行API接口调用需要使用requests库,因此我们首先需要安装该库。在命令行中执行以下命令即可完成安装:
pip install requests
步骤三:编写Python脚本
以下是一个能够查询中国和美国多个城市天气情况的示例Python脚本:
import requests
# 输入你的API密钥
API_KEY = "your_api_key"
# 城市名称和国家代码列表
location_list = [
{"name": "北京", "country": "CN"},
{"name": "上海", "country": "CN"},
{"name": "广州", "country": "CN"},
{"name": "深圳", "country": "CN"},
{"name": "纽约", "country": "US"},
{"name": "洛杉矶", "country": "US"},
{"name": "芝加哥", "country": "US"},
]
# 天气API请求基础URL,%s将会被替换为具体的城市信息
API_URL = "https://api.seniverse.com/v3/weather/now.json?key=%s&location=%s"
# 循环请求每个城市的天气信息
for location in location_list:
# 使用字符串格式化将城市名称和国家代码组合成location参数,传入API_URL中
url = API_URL % (API_KEY, f"{location['name']},{location['country']}")
r = requests.get(url)
data = r.json()
print(f"{data['results'][0]['location']['name']}的天气是{data['results'][0]['now']['text']}")
print(f"温度:{data['results'][0]['now']['temperature']}度,风速:{data['results'][0]['now']['wind_speed']}km/h\n")
在脚本中,我们首先定义了API_KEY、location_list和API_URL这三个变量。其中location_list是一个字典类型的数组,每一项都含有"city_name"和"country"两个属性,分别代表城市名称和国家代码。API_URL 根据心知天气的API规范定义,使用了打印格式字符串 %s 进行动态替换。
最后的循环中,我们使用requests库发送get请求,通过API_URL的字符串格式化将城市名称和国家代码拼接为location参数,传递给API URL 。响应结果中包含了该城市的天气信息,我们提取出相应字段,进行打印展示。
示例一:查询单个城市天气
如果我们想查询单个城市的天气,只需要对上面的脚本进行简单的修改即可。例如,如果我们想查询北京的天气,修改location_list为:
location_list = [{"name": "北京", "country": "CN"}]
然后运行脚本即可。
示例二:查询多个城市天气
如果我们想查询多个城市的天气,只需要将location_list中的字典项修改即可。例如,如果我们想查询北京、上海、广州和深圳的天气,修改location_list为:
location_list = [
{"name": "北京", "country": "CN"},
{"name": "上海", "country": "CN"},
{"name": "广州", "country": "CN"},
{"name": "深圳", "country": "CN"}
]
运行脚本即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python脚本制作天气查询实例代码 - Python技术站