最近各地好像都被暴雨袭击了,菜鸟小白就在想能不能通过python实现实时天气的定时推送呢?其实不用想,肯定是可以的。菜鸟小白百度到了一个和风API接口,可以实现天气的获取。
和风天气API获取
前面的调用百度AI开放平台的API进行动漫照片处理时一直都有同学反馈API该如何获取,那这一次菜鸟小白就学聪明了,直接给出API的获取方式,机智如我,哈哈~~
和风天气网址:https://console.heweather.com
首先我们需要注册一个和风天气的账号,然后新建一个应用
选择web API的key类型
最后新建完成是这样的
编码调试
说到编码,菜鸟小白首先就去看和风的开发文档嘛,一看发现这个还不错,还提供的python编码的示例,那菜鸟小白就想着自己直接拿过来用不就好了嘛,这一用可就入了一个大坑了。它代码库里面的源码是这样的
# coding=utf-8
import requests
import re
KEY = "&key=2d849c62d67a4b9e94607d0f1c744561"
CITY = "city=深圳"
APIURL = "https://free-api.heweather.com/v5/"
USERNAME = "Acring"
s = requests.session()
class HeWeather(object):
now_text = ""
now_raw = []
city_text = ""
city_raw = []
def __init__(self):
self.city()
# 利用获取IP地址的网页,获取本地城市名
@staticmethod
def getcity():
inf = s.get("http://ip.lockview.cn/ShowIP.aspx").text
cityname = re.findall(r"省(.*?)市", inf)[0]
return cityname
# 实况天气
def now(self):
api_type = "now?"
# url = https://free-api.heweather.com/v5/now?city=深圳&key=2d849c62d67a4b9e94607d0f1c744561
url = APIURL + api_type + CITY + KEY
raw_json = s.get(url).json()
if raw_json["HeWeather5"][0]["status"] != "ok":
return
self.now_raw = raw_json
now_basic = raw_json["HeWeather5"][0]["basic"]
now_now = raw_json["HeWeather5"][0]["now"]
basic_city = now_basic["city"] # 城市
basic_cnty = now_basic["cnty"] # 国家
basic_id = now_basic["id"] # 城