python 获取天气信息

目录

前言

一 各种天气API比较

二 高德天气API使用说明

三 实践

四 拓展

欢迎扫描左侧二维码,关注公共号,获取更多信息。


前言

每次看到各种应用上面显示各种天气预报,是不是很好奇,明明有些公司或者机构没有检测天气,他们是怎么预报天气的呢?接下里就给你一一解答。

其实,想要使用获取天气的信息,非常简单。从网上找一个天气API, 然后按照这个API 的使用说明操作,就可以获得需要的天气信息。

会Python的同学,大部分应该都会爬虫。但是作为一个遵纪守法的公民,还是尊重版权。因此从网上选择了好几个能够免费试用的API。

 

一 各种天气API比较

第一个是 中国气象网http://data.cma.cn/Market/Detail/code/A.0013.0001/type/0.htm

官方数据,真实可靠。但是注册时候需要提供证件ID,使用较为麻烦。

第二个是 高德天气API 使用起来还是比较方便的。注册之后,创建应用获取的key 就可以使用了。主要还是不用这么明显的提供证件ID。

当然还有很多可以使用的天气API, 可以从网上搜下,比如“必应一下”。下面是知乎上面的一个我自己认为还不错的对天气AP的推荐的回答:

https://www.zhihu.com/question/20575288

 

二 高德天气API使用说明

第一步,申请”web服务 API”密钥(Key);

第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;

第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。

如无特殊声明,接口的输入参数和输出数据编码全部统一为UTF-8。

 

三 实践

好了,接下来,假装各位同学都已经获得了自己的高德天气API 的key。

接下来获取天气就是相当简单的一件事情,四行代码搞定。

按照下面的这个格式拼接请求 url

https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<用户key>

实操如下:

import requests


url = "https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=你自己的key"

r = requests.get(url)

print(r.text)

 

运行获得天气信息:

{"status":"1","count":"1","info":"OK","infocode":"10000","lives":[{"province":"北京","city":"东城区","adcode":"110101","weather":"多云","temperature":"18","winddirection":"北","windpower":"≤3","humidity":"17","reporttime":"2019-04-13 19:21:51"}]}

四 拓展

       抓取了信息以后,还可以增加一些小功能,比如说通过邮件将信息发送出去,或者再增加一些定时功能。liunx下面可以使用crond,也可以使用Python自带的schedule库,再延伸一些,还可以制作一个界面,这样功能会更加完善。

 

欢迎扫描左侧二维码,关注公共号,获取更多信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章