部署教程教程云函数每日自动推送天气
Gabriel创建函数
腾讯云→云函数服务,创建空白函数,将执行方式
改为index.main
将模板代码清空,输入以下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| #!/usr/bin/python3 #coding=utf-8
import requests, json
spkey = 'f0612538bbxxxxxxxxxxxxxx' def get_iciba_everyday(): icbapi = 'http://open.iciba.com/dsapi/' eed = requests.get(icbapi) bee = eed.json() #返回的数据 english = bee['content'] zh_CN = bee['note'] str = '【奇怪的知识】\n' + english + '\n' + zh_CN return str
def main(arg1,arg2): try: api = 'http://t.weather.itboy.net/api/weather/city/' #API地址,必须配合城市代码使用 city_code = '101280601' tqurl = api + city_code response = requests.get(tqurl) d = response.json() #将数据以json形式返回,这个d就是返回的json数据 if(d['status'] == 200): #当返回状态码为200,输出天气状况 parent = d["cityInfo"]["parent"] #省 city = d["cityInfo"]["city"] #市 update_time = d["time"] #更新时间 date = d["data"]["forecast"][0]["ymd"] #日期 week = d["data"]["forecast"][0]["week"] #星期 weather_type = d["data"]["forecast"][0]["type"] # 天气 wendu_high = d["data"]["forecast"][0]["high"] #最高温度 wendu_low = d["data"]["forecast"][0]["low"] #最低温度 shidu = d["data"]["shidu"] #湿度 pm25 = str(d["data"]["pm25"]) #PM2.5 pm10 = str(d["data"]["pm10"]) #PM10 quality = d["data"]["quality"] #天气质量 fx = d["data"]["forecast"][0]["fx"] #风向 fl = d["data"]["forecast"][0]["fl"] #风力 ganmao = d["data"]["ganmao"] #感冒指数 tips = d["data"]["forecast"][0]["notice"] #温馨提示 cpurl = 'https://qmsg.zendee.cn/send/'+spkey # 天气提示内容 tdwt = get_iciba_everyday() + "\n-----------------------------------------" + "\n【今日份天气】\n城市: " + parent + city + \ "\n日期: " + date + "\n星期: " + week + "\n天气: " + weather_type + "\n温度: " + wendu_high + " / "+ wendu_low + "\n湿度: " + \ shidu + "\nPM25: " + pm25 + "\nPM10: " + pm10 + "\n空气质量: " + quality + \ "\n风力风向: " + fx + fl + "\n感冒指数: " + ganmao + "\n温馨提示: " + tips + "\n更新时间: " + update_time print(tdwt) data = { 'msg':tdwt.encode('utf-8') } requests.post(cpurl,data=data) #把天气数据转换成UTF-8格式,不然要报错。 except: error = '【出现错误】\n 今日天气推送错误,请检查服务或网络状态!' print(error)
|
修改内容
+修改函数代码中第6行的spkey,修改成你的qmsg酱酱的key 查询id 输入想要推送的指定城市的天气,复制id,修改函数代码中第19行的 city_code +修改函数代码中第 19 行的 cpurl 默认是推送到个人的,如需推送到群消息,请将 url 修改为 https://qmsg.zendee.cn/group/
部署
点击部署,然后测试,看有无报错
定时触发
利用cron表达式,设置一个触发器