1.前言
最近对一些人工智能api挺感兴趣的,无意间看到了一个天气预报api,但是每天只能调用100次,总感觉有点不舒服,于是自己写了个获取天气的程序,可以作为包导入主程序运行。
2.使用方法
2.1 使用
1.复制下面代码到python文件中,创建__init__.py文件将此文件作为包,在主程序中导入该包。
2.实例化Weather对象,调用get_weather()方法,返回一个dict对象
weather = Weather()
result = weather.get_weather('武汉')
# {'nameen': 'wuhan', 'cityname': '武汉', 'city': '101200101', 'temp': '11', 'tempf': '51', 'WD': '北风', 'wde': 'N', 'WS': '1级', 'wse': '<12km/h', 'SD': '91%', 'time': '22:00', 'weather': '晴', 'weathere': 'Sunny', 'weathercode': 'n00', 'qy': '1014', 'njd': '5.8km', 'sd': '91%', 'rain': '0', 'rain24h': '0', 'aqi': '89', 'limitnumber': '', 'aqi_pm25': '89', 'date': '03月24日(星期三)'}
2.2 参数讲解
SD:相对湿度
WD:风向
WS:风级
aqi:空气质量
aqi_pm25:PM2.5指数
city:城市编码(此编码非全国标准编码,而是天气预报指定的编码)
date:日期
limitnumber:未知
nameen:城市拼写
njd:未知
qy:
rain:布尔值,是否有雨
rain24h:
sd:
temp:
tempf:
time:
wde:风向缩写(例如:“N”)
weather:天气(例如:“晴”)
weathercode:天气编码
weathere:天气英文(例如:“sunny”)
wse:风速(例如:"<12km/h")
3.代码部分
import requests, time, re, json
class Weather:
city_num = {
"城市代码": [
{
"省": "北京",
"市": [
{
"市名": "北京",
"编码": "101010100"
},
{
"市名": "朝阳",
"编码": "101010300"
},
{
"市名": "顺义",
"编码": "101010400"
},
{
"市名": "怀柔",
"编码": "101010500"
},
{
"市名": "通州",
"编码": "101010600"
},
{
"市名": "昌平",
"编码": "101010700"
},
{
"市名": "延庆",
"编码": "101010800"
},
{
"市名": "丰台",
"编码": "101010900"
},
{
"市名": "石景山",
"编码": "101011000"
},
{
"市名": "大兴",
"编码": "101011100"
},
{
"市名": "房山",
"编码": "101011200"
},
{
"市名": "密云",
"编码": "101011300"
},
{
"市名": "门头沟",
"编码": "101011400"
},
{
"市名": "平谷",
"编码": "101011500"
},
{
"市名": "八达岭",
"编码": "101011600"
},
{
"市名": "佛爷顶",
"编码": "101011700"
},
{
"市名": "汤河口",
"编码": "101011800"
},
{
"市名": "密云上甸子",
"编码": "101011900"
},
{
"市名": "斋堂",
"编码": "101012000"
},
{
"市名": "霞云岭",
"编码": "101012100"
},
{
"市名": "北京城区",
"编码": "101012200"
},
{
"市名": "海淀",
"编码": "101010200"
}
]
},
{
"省": "天津市",
"市": [
{
"市名": "天津",
"编码": "101030100"
},
{
"市名": "宝坻",
"编码": "101030300"
},
{
"市名": "东丽",
"编码": "101030400"
},
{
"市名": "西青",
"编码": "101030500"
},
{
"市名": "北辰",
"编码": "101030600"
},
{
"市名": "蓟县",
"编码": "101031400"
},
{
"市名": "汉沽",
"编码": "101030800"
},
{
"市名": "静海",
"编码": "101030900"
},
{
"市名": "津南",
"编码": "101031000"
},
{
"市名": "塘沽",
"编码": "101031100"
},
{
"市名": "大港",
"编码": "101031200"
},
{
"市名": "武清",
"编码": "101030200"
},
{
"市名": "宁河",
"编码": "101030700"
}
]
},
{
"省": "上海",
"市": [
{
"市名": "上海",
"编码": "101020100"
},
{
"市名": "宝山",
"编码": "101020300"
},
{
"市名": "嘉定",
"编码": "101020500"
},
{
"市名": "南汇",
"编码": "101020600"
},
{
"市名": "浦东",
"编码": "101021300"
},
{
"市名": "青浦",
"编码": "101020800"
},
{
"市名": "松江",
"编码": "101020900"
},
{
"市名": "奉贤",
"编码": "101021000"
},
{
"市名": "崇明",
"编码": "101021100"
},
{
"市名": "徐家汇",
"编码": "101021200"
},
{
"市名": "闵行",
"编码": "101020200"
},
{
"市名": "金山",
"编码": "101020700"
}
]
},
{
"省": "河北",
"市": [
{
"市名": "石家庄",
"编码": "101090101"
},
{
"市名": "张家口",
"编码": "101090301"
},
{
"市名": "承德",
"编码": "101090402"
},
{
"市名": "唐山",
"编码": "101090501"
},
{
"市名": "秦皇岛",
"编码": "101091101"
},
{
"市名": "沧州",
"编码": "101090701"
},
{
"市名": "衡水",
"编码": "101090801"
},
{
"市名": "邢台",
"编码": "101090901"
},
{
"市名": "邯郸",
"编码": "101091001"
},
{
"市名": "保定",
"编码": "101090201"
},
{
"市名": "廊坊",
"编码": "101090601"
}
]
},
{
"省": "河南",
"市": [
{
"市名": "郑州",
"编码": "101180101"
},
{
"市名": "新乡",
"编码": "101180301"
},
{
"市名": "许昌",
"编码": "101180401"
},
{
"市名": "平顶山",
"编码": "101180501"
},
{
"市名": "信阳",
"编码": "101180601"
},
{
"市名": "南阳",
"编码": "101180701"
},
{
"市名": "开封",
"编码": "101180801"
},
{
"市名": "洛阳",
"编码": "101180901"
},
{
"市名": "商丘",
"编码": "101181001"
},
{
"市名": "焦作",
"编码": "101181101"
},
{
"市名": "鹤壁",
"编码": "101181201"
},
{
"市名": "濮阳",
"编码": "101181301"
},
{
"市名": "周口",
"编码": "101181401"
},
{
"市名": "漯河",
"编码": "101181501"
},
{
"市名": "驻马店",
"编码": "101181601"
},
{
"市名": "三门峡",
"编码": "101181701"
},
{
"市名": "济源",
"编码": "101181801"
},
{
"市名": "安阳",
"编码": "101180201"
}
]
},
{
"省": "安徽",
"市": [
{
"市名": "合肥",
"编码": "101220101"
},
{
"市名": "芜湖",
"编码": "101220301"
},
{
"市名": "淮南",
"编码": "101220401"
},
{
"市名": "马鞍山",
"编码": "101220501"
},
{
"市名": "安庆",
"编码": "101220601"
},
{
"市名": "宿州",
"编码": "101220701"
},
{
"市名": "阜阳",
"编码": "101220801"
},
{
"市名": "亳州",
"编码": "101220901"
},
{
"市名": "黄山",
"编码": "101221001"
},
{
"市名": "滁州",
"编码": "101221101"
},
{
"市名": "淮北",
"编码": "101221201"
},
{
"市名": "铜陵&

本文介绍了作者如何因不满天气预报API的调用限制,而自行编写了一个获取天气信息的程序,并将其封装为Python包。文章详细说明了使用方法,包括如何导入和使用自定义包,以及各参数的含义。
最低0.47元/天 解锁文章

890

被折叠的 条评论
为什么被折叠?



