天气气象数据是用于描述和记录大气环境状态和变化的数据。它包含了各种气象要素和参数的观测值,如温度、湿度、风速、降水量、气压等。
天气气象数据通常由气象站点、卫星观测和气象雷达等设备获取。这些设备会定期测量和记录各种气象要素,并将数据传输到气象局或其他相关机构进行处理和分析。
通过收集和分析天气气象数据,人们可以掌握气候变化趋势、预测天气情况、研究气象现象和气候模式等。天气气象数据对于气象学研究、气象预报、农业、交通运输、能源管理、自然灾害预警等领域具有重要意义。
常见的天气气象数据包括:
- 温度:描述空气或物体的热度。
- 湿度:衡量空气中水蒸气的含量。
- 风速和风向:表示风的强度和方向。
- 降水量:指每个时间段内降落在地表上的水的总量。
- 气压:衡量大气压强的大小。
- 能见度:描述空气中水平视线可见程度。
- 云量和云型:用于描述云的遮蔽程度和形态。
- 辐射:描述太阳辐射、地表反射辐射等。
这些数据通常以时序数据的形式进行记录,并可以通过各种数据源和气象服务提供商获取。天气气象数据对于预测天气、气候研究和相关行业的决策制定非常重要。
天气预报,在如今信息化的时代好像没那么多人关注了。但是往往在一些系统中,还会穿插着天气的相关信息。那么如何去实现天气预报的功能呢?在市面上会有一些收费的天气接口,接口文档繁杂。也有一些免费的接口,但是需要自己收集城市编码。今天给大家带来的是国家气象局提供的接口。
接口地址如下:
http://t.weather.sojson.com/api/weather
返回数据格式为json
请求方式为get
请求实例如下所示:
ttp://t.weather.sojson.com/api/weather/city/101030100
详细说明如下所示:
结果实例如下所示:
{
"message": "success感谢又拍云(upyun.com)提供CDN赞助",
"status": 200,
"date": "20230629",
"time": "2023-06-29 15:26:19",
"cityInfo": {
"city": "天津市",
"citykey": "101030100",
"parent": "天津",
"updateTime": "11:31"
},
"data": {
"shidu": "55%",
"pm25": 15.0,
"pm10": 22.0,
"quality": "优",
"wendu": "32",
"ganmao": "各类人群可自由活动",
"forecast": [
{
"date": "29",
"high": "高温 34℃",
"low": "低温 23℃",
"ymd": "2023-06-29",
"week": "星期四",
"sunrise": "04:48",
"sunset": "19:41",
"aqi": 94,
"fx": "东南风",
"fl": "2级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "30",
"high": "高温 37℃",
"low": "低温 25℃",
"ymd": "2023-06-30",
"week": "星期五",
"sunrise": "04:48",
"sunset": "19:41",
"aqi": 99,
"fx": "西南风",
"fl": "3级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "01",
"high": "高温 37℃",
"low": "低温 26℃",
"ymd": "2023-07-01",
"week": "星期六",
"sunrise": "04:49",
"sunset": "19:41",
"aqi": 108,
"fx": "西南风",
"fl": "4级",
"type": "多云",
"notice": "阴晴之间,谨防紫外线侵扰"
},
{
"date": "02",
"high": "高温 38℃",
"low": "低温 25℃",
"ymd": "2023-07-02",
"week": "星期日",
"sunrise": "04:49",
"sunset": "19:41",
"aqi": 100,
"fx": "东南风",
"fl": "3级",
"type": "多云",
"notice": "阴晴之间,谨防紫外线侵扰"
},
{
"date": "03",
"high": "高温 32℃",
"low": "低温 23℃",
"ymd": "2023-07-03",
"week": "星期一",
"sunrise": "04:50",
"sunset": "19:41",
"aqi": 94,
"fx": "东南风",
"fl": "3级",
"type": "阴",
"notice": "不要被阴云遮挡住好心情"
},
{
"date": "04",
"high": "高温 34℃",
"low": "低温 23℃",
"ymd": "2023-07-04",
"week": "星期二",
"sunrise": "04:50",
"sunset": "19:40",
"aqi": 71,
"fx": "东风",
"fl": "2级",
"type": "多云",
"notice": "阴晴之间,谨防紫外线侵扰"
},
{
"date": "05",
"high": "高温 40℃",
"low": "低温 27℃",
"ymd": "2023-07-05",
"week": "星期三",
"sunrise": "04:51",
"sunset": "19:40",
"aqi": 82,
"fx": "东南风",
"fl": "3级",
"type": "晴",
"notice": "愿你拥有比阳光明媚的心情"
},
{
"date": "06",
"high": "高温 39℃",
"low": "低温 26℃",
"ymd": "2023-07-06",
"week": "星期四",
"sunrise": "04:51",
"sunset": "19:40",
"aqi": 89,
"fx": "西南风",
"fl": "3级",
"type": "多云",
"notice": "阴晴之间,谨防紫外线侵扰"
},
{
"date": "07",
"high": "高温 39℃",
"low": "低温 24℃",
"ymd": "2023-07-07",
"week": "星期五",
"sunrise": "04:52",
"sunset": "19:40",
"aqi": 89,
"fx": "南风",
"fl": "3级",
"type": "小雨",
"notice": "雨虽小,注意保暖别感冒"
},
{
"date": "08",
"high": "高温 37℃",
"low": "低温 22℃",
"ymd": "2023-07-08",
"week": "星期六",
"sunrise": "04:53",
"sunset": "19:39",
"aqi": 79,
"fx": "东风",
"fl": "3级",
"type": "阴",
"notice": "不要被阴云遮挡住好心情"
},
{
"date": "09",
"high": "高温 29℃",
"low": "低温 22℃",
"ymd": "2023-07-09",
"week": "星期日",
"sunrise": "04:53",
"sunset": "19:39",
"aqi": 58,
"fx": "东风",
"fl": "3级",
"type": "阴",
"notice": "不要被阴云遮挡住好心情"
},
{
"date": "10",
"high": "高温 31℃",
"low": "低温 22℃",
"ymd": "2023-07-10",
"week": "星期一",
"sunrise": "04:54",
"sunset": "19:39",
"aqi": 60,
"fx": "东南风",
"fl": "2级",
"type": "多云",
"notice": "阴晴之间,谨防紫外线侵扰"
},
{
"date": "11",
"high": "高温 31℃",
"low": "低温 20℃",
"ymd": "2023-07-11",
"week": "星期二",
"sunrise": "04:55",
"sunset": "19:38",
"aqi": 81,
"fx": "东风",
"fl": "3级",
"type": "阴",
"notice": "不要被阴云遮挡住好心情"
},
{
"date": "12",
"high": "高温 27℃",
"low": "低温 20℃",
"ymd": "2023-07-12",
"week": "星期三",
"sunrise": "04:55",
"sunset": "19:38",
"aqi": 64,
"fx": "东北风",
"fl": "2级",
"type": "小雨",
"notice": "雨虽小,注意保暖别感冒"
},
{
"date": "13",
"high": "高温 30℃",
"low": "低温 22℃",
"ymd": "2023-07-13",
"week": "星期四",
"sunrise": "04:56",
"sunset": "19:37",
"aqi": 65,
"fx": "东风",
"fl": "2级",
"type": "小雨",
"notice": "雨虽小,注意保暖别感冒"
}
],
"yesterday": {
"date": "28",
"high": "高温 35℃",
"low": "低温 23℃",
"ymd": "2023-06-28",
"week": "星期三",
"sunrise": "04:47",
"sunset": "19:41",
"aqi": 64,
"fx": "东南风",
"fl": "2级",
"type": "小雨",
"notice": "雨虽小,注意保暖别感冒"
}
}
}
截图如下所示:
程序所需要的城市编码对应关系如下所示:
编号 省会城市 区域 区域编号
1 北京 北京 101010100
2 北京 朝阳 101010300
3 北京 顺义 101010400
4 北京 怀柔 101010500
5 北京 通州 101010600
6 北京 昌平 101010700
7 北京 延庆 101010800
8 北京 丰台 101010900
9 北京 石景山 101011000
10 北京 大兴 101011100
11 北京 房山 101011200
12 北京 密云 101011300
13 北京 门头沟 101011400
14 北京 平谷 101011500
15 北京 八达岭 101011600
16 北京 佛爷顶 101011700
17 北京 汤河口 101011800
18 北京 密云上甸子 101011900
19 北京 斋堂 101012000
20 北京 霞云岭 101012100
21 北京 北京城区 101012200
22 北京 海淀 101010200
23 天津市 天津 101030100
24 天津市 宝坻 101030300
24 天津市 宝坻 101030300
25 天津市 东丽 101030400
26 天津市 西青 101030500
27 天津市 北辰 101030600
28 天津市 蓟县 101031400
29 天津市 汉沽 101030800
30 天津市 静海 101030900
31 天津市 津南 101031000
32 天津市 塘沽 101031100
33 天津市 大港 101031200
34 天津市 武清 101030200
35 天津市 宁河 101030700
36 上海 上海 101020100
37 上海 宝山 101020300
38 上海 嘉定 101020500
39 上海 南汇 101020600
40 上海 浦东 101021300
41 上海 青浦 101020800
42 上海 松江 101020900
43 上海 奉贤 101021000
44 上海 崇明 101021100
45 上海 徐家汇 101021200
46 上海 闵行 101020200
47 上海 金山 101020700
48 河北 石家庄 101090101
49 河北 张家口 101090301
50 河北 承德 101090402
51 河北 唐山 101090501
52 河北 秦皇岛 101091101
53 河北 沧州 101090701
54 河北 衡水 101090801
55 河北 邢台 101090901
56 河北 邯郸 101091001
57 河北 保定 101090201
58 河北 廊坊 101090601
59 河南 郑州 101180101
60 河南 新乡 101180301
61 河南 许昌 101180401
62 河南 平顶山 101180501
63 河南 信阳 101180601
64 河南 南阳 101180701
65 河南 开封 101180801
66 河南 洛阳 101180901
67 河南 商丘 101181001
68 河南 焦作 101181101
69 河南 鹤壁 101181201
70 河南 濮阳 101181301
71 河南 周口 101181401
72 河南 漯河 101181501
73 河南 驻马店 101181601
74 河南 三门峡 101181701
75 河南 济源 101181801
76 河南 安阳 101180201
77 安徽 合肥 101220101
78 安徽 芜湖 101220301
79 安徽 淮南 101220401
80 安徽 马鞍山 101220501
81 安徽 安庆 101220601
82 安徽 宿州 101220701
83 安徽 阜阳 101220801
84 安徽 亳州 101220901
85 安徽 黄山 101221001
86 安徽 滁州 101221101
87 安徽 淮北 101221201
88 安徽 铜陵 101221301
89 安徽 宣城 101221401
90 安徽 六安 101221501
91 安徽 巢湖 101221601
92 安徽 池州 101221701
93 安徽 蚌埠 101220201
94 浙江 杭州 101210101
95 浙江 舟山 101211101
96 浙江 湖州 101210201
97 浙江 嘉兴 101210301
98 浙江 金华 101210901
99 浙江 绍兴 101210501
100 浙江 台州 101210601
101 浙江 温州 101210701
102 浙江 丽水 101210801
103 浙江 衢州 101211001
104 浙江 宁波 101210401
105 重庆 重庆 101040100
106 重庆 合川 101040300
107 重庆 南川 101040400
108 重庆 江津 101040500
109 重庆 万盛 101040600
110 重庆 渝北 101040700
111 重庆 北碚 101040800
112 重庆 巴南 101040900
113 重庆 长寿 101041000
114 重庆 黔江 101041100
115 重庆 万州天城 101041200
116 重庆 万州龙宝 101041300
117 重庆 涪陵 101041400
118 重庆 开县 101041500
119 重庆 城口 101041600
120 重庆 云阳 101041700
121 重庆 巫溪 101041800
122 重庆 奉节 101041900
123 重庆 巫山 101042000
124 重庆 潼南 101042100
125 重庆 垫江 101042200
126 重庆 梁平 101042300
127 重庆 忠县 101042400
128 重庆 石柱 101042500
129 重庆 大足 101042600
130 重庆 荣昌 101042700
131 重庆 铜梁 101042800
132 重庆 璧山 101042900
133 重庆 丰都 101043000
134 重庆 武隆 101043100
135 重庆 彭水 101043200
136 重庆 綦江 101043300
137 重庆 酉阳 101043400
138 重庆 秀山 101043600
139 重庆 沙坪坝 101043700
140 重庆 永川 101040200
141 福建 福州 101230101
142 福建 泉州 101230501
143 福建 漳州 101230601
144 福建 龙岩 101230701
145 福建 晋江 101230509
146 福建 南平 101230901
147 福建 厦门 101230201
148 福建 宁德 101230301
149 福建 莆田 101230401
150 福建 三明 101230801
151 甘肃 兰州 101160101
152 甘肃 平凉 101160301
153 甘肃 庆阳 101160401
154 甘肃 武威 101160501
155 甘肃 金昌 101160601
156 甘肃 嘉峪关 101161401
157 甘肃 酒泉 101160801
158 甘肃 天水 101160901
159 甘肃 武都 101161001
160 甘肃 临夏 101161101
161 甘肃 合作 101161201
162 甘肃 白银 101161301
163 甘肃 定西 101160201
164 甘肃 张掖 101160701
165 广东 广州 101280101
166 广东 惠州 101280301
167 广东 梅州 101280401
168 广东 汕头 101280501
169 广东 深圳 101280601
170 广东 珠海 101280701
171 广东 佛山 101280800
172 广东 肇庆 101280901
173 广东 湛江 101281001
174 广东 江门 101281101
175 广东 河源 101281201
176 广东 清远 101281301
177 广东 云浮 101281401
178 广东 潮州 101281501
179 广东 东莞 101281601
180 广东 中山 101281701
181 广东 阳江 101281801
182 广东 揭阳 101281901
183 广东 茂名 101282001
184 广东 汕尾 101282101
185 广东 韶关 101280201
186 广西 南宁 101300101
187 广西 柳州 101300301
188 广西 来宾 101300401
189 广西 桂林 101300501
190 广西 梧州 101300601
191 广西 防城港 101301401
192 广西 贵港 101300801
193 广西 玉林 101300901
194 广西 百色 101301001
195 广西 钦州 101301101
196 广西 河池 101301201
197 广西 北海 101301301
198 广西 崇左 101300201
199 广西 贺州 101300701
200 贵州 贵阳 101260101
201 贵州 安顺 101260301
202 贵州 都匀 101260401
203 贵州 兴义 101260906
204 贵州 铜仁 101260601
205 贵州 毕节 101260701
206 贵州 六盘水 101260801
207 贵州 遵义 101260201
208 贵州 凯里 101260501
209 云南 昆明 101290101
210 云南 红河 101290301
211 云南 文山 101290601
212 云南 玉溪 101290701
213 云南 楚雄 101290801
214 云南 普洱 101290901
215 云南 昭通 101291001
216 云南 临沧 101291101
217 云南 怒江 101291201
218 云南 香格里拉 101291301
219 云南 丽江 101291401
220 云南 德宏 101291501
221 云南 景洪 101291601
222 云南 大理 101290201
223 云南 曲靖 101290401
224 云南 保山 101290501
225 内蒙古 呼和浩特 101080101
226 内蒙古 乌海 101080301
227 内蒙古 集宁 101080401
228 内蒙古 通辽 101080501
229 内蒙古 阿拉善左旗 101081201
230 内蒙古 鄂尔多斯 101080701
231 内蒙古 临河 101080801
232 内蒙古 锡林浩特 101080901
233 内蒙古 呼伦贝尔 101081000
234 内蒙古 乌兰浩特 101081101
235 内蒙古 包头 101080201
236 内蒙古 赤峰 101080601
237 江西 南昌 101240101
238 江西 上饶 101240301
239 江西 抚州 101240401
240 江西 宜春 101240501
241 江西 鹰潭 101241101
242 江西 赣州 101240701
243 江西 景德镇 101240801
244 江西 萍乡 101240901
245 江西 新余 101241001
246 江西 九江 101240201
247 江西 吉安 101240601
248 湖北 武汉 101200101
249 湖北 黄冈 101200501
250 湖北 荆州 101200801
251 湖北 宜昌 101200901
252 湖北 恩施 101201001
253 湖北 十堰 101201101
254 湖北 神农架 101201201
255 湖北 随州 101201301
256 湖北 荆门 101201401
257 湖北 天门 101201501
258 湖北 仙桃 101201601
259 湖北 潜江 101201701
260 湖北 襄樊 101200201
261 湖北 鄂州 101200301
262 湖北 孝感 101200401
263 湖北 黄石 101200601
264 湖北 咸宁 101200701
265 四川 成都 101270101
266 四川 自贡 101270301
267 四川 绵阳 101270401
268 四川 南充 101270501
269 四川 达州 101270601
270 四川 遂宁 101270701
271 四川 广安 101270801
272 四川 巴中 101270901
273 四川 泸州 101271001
274 四川 宜宾 101271101
275 四川 内江 101271201
276 四川 资阳 101271301
277 四川 乐山 101271401
278 四川 眉山 101271501
279 四川 凉山 101271601
280 四川 雅安 101271701
281 四川 甘孜 101271801
282 四川 阿坝 101271901
283 四川 德阳 101272001
284 四川 广元 101272101
285 四川 攀枝花 101270201
286 宁夏 银川 101170101
287 宁夏 中卫 101170501
288 宁夏 固原 101170401
289 宁夏 石嘴山 101170201
290 宁夏 吴忠 101170301
291 青海省 西宁 101150101
292 青海省 黄南 101150301
293 青海省 海北 101150801
294 青海省 果洛 101150501
295 青海省 玉树 101150601
296 青海省 海西 101150701
297 青海省 海东 101150201
298 青海省 海南 101150401
299 山东 济南 101120101
300 山东 潍坊 101120601
301 山东 临沂 101120901
302 山东 菏泽 101121001
303 山东 滨州 101121101
304 山东 东营 101121201
305 山东 威海 101121301
306 山东 枣庄 101121401
307 山东 日照 101121501
308 山东 莱芜 101121601
309 山东 聊城 101121701
310 山东 青岛 101120201
311 山东 淄博 101120301
312 山东 德州 101120401
313 山东 烟台 101120501
314 山东 济宁 101120701
315 山东 泰安 101120801
316 陕西省 西安 101110101
317 陕西省 延安 101110300
318 陕西省 榆林 101110401
319 陕西省 铜川 101111001
320 陕西省 商洛 101110601
321 陕西省 安康 101110701
322 陕西省 汉中 101110801
323 陕西省 宝鸡 101110901
324 陕西省 咸阳 101110200
325 陕西省 渭南 101110501
326 山西 太原 101100101
327 山西 临汾 101100701
328 山西 运城 101100801
329 山西 朔州 101100901
330 山西 忻州 101101001
331 山西 长治 101100501
332 山西 大同 101100201
333 山西 阳泉 101100301
334 山西 晋中 101100401
335 山西 晋城 101100601
336 山西 吕梁 101101100
337 新疆 乌鲁木齐 101130101
338 新疆 石河子 101130301
339 新疆 昌吉 101130401
340 新疆 吐鲁番 101130501
341 新疆 库尔勒 101130601
342 新疆 阿拉尔 101130701
343 新疆 阿克苏 101130801
344 新疆 喀什 101130901
345 新疆 伊宁 101131001
346 新疆 塔城 101131101
347 新疆 哈密 101131201
348 新疆 和田 101131301
349 新疆 阿勒泰 101131401
350 新疆 阿图什 101131501
351 新疆 博乐 101131601
352 新疆 克拉玛依 101130201
353 西藏 拉萨 101140101
354 西藏 山南 101140301
355 西藏 阿里 101140701
356 西藏 昌都 101140501
357 西藏 那曲 101140601
358 西藏 日喀则 101140201
359 西藏 林芝 101140401
360 台湾 台北县 101340101
361 台湾 高雄 101340201
362 台湾 台中 101340401
363 海南省 海口 101310101
364 海南省 三亚 101310201
365 海南省 东方 101310202
366 海南省 临高 101310203
367 海南省 澄迈 101310204
368 海南省 儋州 101310205
369 海南省 昌江 101310206
370 海南省 白沙 101310207
371 海南省 琼中 101310208
372 海南省 定安 101310209
373 海南省 屯昌 101310210
374 海南省 琼海 101310211
375 海南省 文昌 101310212
376 海南省 保亭 101310214
377 海南省 万宁 101310215
378 海南省 陵水 101310216
379 海南省 西沙 101310217
380 海南省 南沙岛 101310220
381 海南省 乐东 101310221
382 海南省 五指山 101310222
383 海南省 琼山 101310102
384 湖南 长沙 101250101
385 湖南 株洲 101250301
386 湖南 衡阳 101250401
387 湖南 郴州 101250501
388 湖南 常德 101250601
389 湖南 益阳 101250700
390 湖南 娄底 101250801
391 湖南 邵阳 101250901
392 湖南 岳阳 101251001
393 湖南 张家界 101251101
394 湖南 怀化 101251201
395 湖南 黔阳 101251301
396 湖南 永州 101251401
397 湖南 吉首 101251501
398 湖南 湘潭 101250201
399 江苏 南京 101190101
400 江苏 镇江 101190301
401 江苏 苏州 101190401
402 江苏 南通 101190501
403 江苏 扬州 101190601
404 江苏 宿迁 101191301
405 江苏 徐州 101190801
406 江苏 淮安 101190901
407 江苏 连云港 101191001
408 江苏 常州 101191101
409 江苏 泰州 101191201
410 江苏 无锡 101190201
411 江苏 盐城 101190701
412 黑龙江 哈尔滨 101050101
413 黑龙江 牡丹江 101050301
414 黑龙江 佳木斯 101050401
415 黑龙江 绥化 101050501
416 黑龙江 黑河 101050601
417 黑龙江 双鸭山 101051301
418 黑龙江 伊春 101050801
419 黑龙江 大庆 101050901
420 黑龙江 七台河 101051002
421 黑龙江 鸡西 101051101
422 黑龙江 鹤岗 101051201
423 黑龙江 齐齐哈尔 101050201
424 黑龙江 大兴安岭 101050701
425 吉林 长春 101060101
426 吉林 延吉 101060301
427 吉林 四平 101060401
428 吉林 白山 101060901
429 吉林 白城 101060601
430 吉林 辽源 101060701
431 吉林 松原 101060801
432 吉林 吉林 101060201
433 吉林 通化 101060501
434 辽宁 沈阳 101070101
435 辽宁 鞍山 101070301
436 辽宁 抚顺 101070401
437 辽宁 本溪 101070501
438 辽宁 丹东 101070601
439 辽宁 葫芦岛 101071401
440 辽宁 营口 101070801
441 辽宁 阜新 101070901
442 辽宁 辽阳 101071001
443 辽宁 铁岭 101071101
444 辽宁 朝阳 101071201
445 辽宁 盘锦 101071301
446 辽宁 大连 101070201
447 辽宁 锦州 101070701
这样的数据不便于解析使用,所以这里我对其进行加载解析处理,代码实现如下所示:
with open(data,encoding="utf-8") as f:
data_list=[one.strip().split("\t") for one in f.readlines() if one.strip()]
print("data_list_length: ", len(data_list))
for one in data_list[:3]:
print(one)
code_dict={}
for one_list in data_list[1:]:
one_id, one_province, one_city, one_code = one_list
code_dict[one_city] = [one_code, one_province]
with open(save_path, "w") as f:
f.write(json.dumps(code_dict))
得到解析规整过后的结果数据如下所示:
接下来我们按照官方提供的实例开始组装请求所需的url如下所示:
print("city code is: ", code)
url="http://t.weather.sojson.com/api/weather/city/{}".format(code)
print("url is: ", url)
借助于requests模块调用get请求即可完成数据请求操作,如下所示:
response = requests.get(url)
接下来对数据进行解析处理,核心实现如下所示:
我们以北京市为例看下采集获取到的实例数据如下所示:
{
"时间": "2023-06-29 - 星期四",
"温度": "33",
"最高温度": "高温 35℃",
"最低温度": "低温 21℃",
"湿度": "31%",
"天气类型": "晴",
"空气质量": "优",
"注意": "愿你拥有比阳光明媚的心情",
"PM2.5": 10.0,
"PM10": 35.0,
"AQI": 110
}
当然了,对于几百个城市的数据采集肯定是不能一个一个传入参数进行采集数据集的,这里就可以编写循环方法来实现自动化批量实现所有城市数据的采集处理, 这里核心代码实现如下所示:
到这里就已经实现了所有城市当日数据的采集和存储处理了,接下来如果想要自动定时每日之星数据采集也都是可以的,实现逻辑与上面类似的,我已经预留构建了文件存储格式是以日期为目录入口的,这里就不再赘述了,今日的数据存储目录截图如下所示:
以黑龙江为例,看下目录如下所示:
到这里完成了所需要数据的采集与存储
接下来想要对获取到的数据进行分析可视化,核心代码实现如下所示:
这里一共包含:温度、湿度、最高温度、最低温度、PM2.5、PM10和AQI七种不同的因子数据,我这里绘制了两张图,分别是温度图和综合数据图,这里看下实例结果:
到这里是完成了单个城市的数据分析可视化,如果想要批量自动化的实现全国城市的数据可视化也是可以的,核心代码实现如下所示:
today=dataDir.split("/")[-1].strip()
resDir=saveDir+today+"/"
if not os.path.exists(resDir):
os.makedirs(resDir)
for one_province in os.listdir(dataDir):
print("one_province: ", one_province)
oneDataDir=dataDir+one_province+"/"
provinceShow(dataDir=oneDataDir, saveDir=resDir)
接下来我们看下结果目录截图如下所示:
【河南】
【云南】
还是很有意思的,感兴趣的话都可以自己动手实践一下,也可以在此基础上继续深入分析。