微信推送每日天气/全国疫情,云函数部署免费便捷

原博地址:使用云函数进行每日天气推送 – 『编程语言区』 – 吾爱破解 – LCG – LSG |安卓破解|病毒分析|www.52pojie.cn

在原博的基础上改了一下推送渠道,虽然没有Qmsg酱美观,但我的脚本推送消息都是微信Server酱,就不想换了(虽然现在有很多的天气软件,但我可不想每天都看很多广告)。

正文代码

1、天气推送代码

"""
@File    : weather.py
@Time    : 2021.5.11
@Software: IntelliJ IDEA 2019.3.5 x64
@python :  Python 3.6
@Website : https://bayminlkh.xyz

"""

#!/usr/bin/python3
#coding=utf-8
 
import requests, json
 
#spkey = ''    #https://qmsg.zendee.cn ---> 去这个地址注册,获取key,然后添加绑定机器人
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 = 'XXXXX'      #进入https://where.heweather.com/index.html查询你的城市代码
        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"] #温馨提示

            # 天气提示内容 get_iciba_everyday()  + 
            tdwt = "\n-----------------------------------------" + "\n【"+ date +"今日份天气】\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')
            }
            #server酱KEY值在http://sc.ftqq.com/9.version网页中获得自己的key
            cpurl = 'https://sc.ftqq.com/server酱KEY值.send?text=城市天气预报&desp='+tdwt
            requests.post(cpurl,data=data)         #把天气数据转换成UTF-8格式,不然要报错。
    except:
        error = '【出现错误】\n  今日天气推送错误,请检查服务或网络状态!'
        print(error)

2、全国疫情代码

"""
@File    : weather.py
@Time    : 2021.5.11
@Software: IntelliJ IDEA 2019.3.5 x64
@python :  Python 3.6
@Website : https://bayminlkh.xyz

"""

import requests,random,json
 
url = "https://c.m.163.com/ug/api/wuhan/app/data/list-total"
server_key = ''  #填入你的server酱Key值即可
coolpush_key = 'xxxxx'
qmsg_key = 'xxxxxx'
def UserAgent(): #随机获取请求头
    user_agent_list = ['Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.3319.102 Safari/537.36',
                   'Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36',
                   'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0.6',
                   'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36',
                   'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2224.3 Safari/537.36',
                   'Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36']
    UserAgent={'User-Agent': random.choice(user_agent_list)}
    return UserAgent
 
 
def Get_Url(arg1,arg2):
    url_json = requests.get(url=url,headers=UserAgent()).json()
 
    today_confirm = str(url_json['data']['chinaTotal']['today']['confirm'])#全国累计确诊较昨日新增
    today_input =str(url_json['data']['chinaTotal']['today']['input'])#全国较昨日新增境外输入
    today_storeConfirm = str(url_json['data']['chinaTotal']['today']['storeConfirm'])#全国现有确诊较昨日
    today_dead =str(url_json['data']['chinaTotal']['today']['dead'])#累计死亡较昨日新增
    today_heal = str(url_json['data']['chinaTotal']['today']['heal'])#累计治愈较昨日新增
    today_incrNoSymptom = str(url_json['data']['chinaTotal']['extData']['incrNoSymptom'])#无症状感染者较昨日
 
    total_confirm = str(url_json['data']['chinaTotal']['total']['confirm'])  # 全国累计确诊
    total_input = str(url_json['data']['chinaTotal']['total']['input'])  # 境外输入
    total_dead = str(url_json['data']['chinaTotal']['total']['dead'])  # 累计死亡
    total_heal = str(url_json['data']['chinaTotal']['total']['heal'])  # 累计治愈
    total_storeConfirm = str(url_json['data']['chinaTotal']['total']['confirm'] - url_json['data']['chinaTotal']['total']['dead'] - url_json['data']['chinaTotal']['total']['heal'])  # 全国现有确诊
    total_noSymptom = str(url_json['data']['chinaTotal']['extData']['noSymptom'])#无症状感染者
 
    lastUpdateTime = url_json['data']['lastUpdateTime']#截止时间
 
    data ='-' * 8 +'全国疫情数据实时统计' + '-' * 8 + '\n统计截至时间:'+ lastUpdateTime +'\n' + '-' * 32 + '\n' + \
          '  累计确诊:' + total_confirm + ' ; ' + '较昨日:' + today_confirm + \
          '\n  现有确诊:' + total_storeConfirm + ' ; ' + '较昨日:' + today_storeConfirm + \
          '\n  累计死亡:' + total_dead + ' ; ' + '较昨日:' + today_dead + \
          '\n  累计治愈:' + total_heal + ' ; ' + '较昨日:' + today_heal + \
          '\n  境外输入:' + total_input + ' ; ' + '较昨日:' + today_input + \
          '\n  无症状感染者:' + total_noSymptom + ' ; ' + '较昨日:' + today_incrNoSymptom
    print(data)
    select_robots(2,data) #0为Qmsg推送,1为酷推推送,2为server酱推送。默认为0
 
def select_robots(i,data):
    if i == 0:
        HtmlPuch_Qmsg(data)
    elif i == 1:
        HtmlPuch_coolpush(data)
    elif i == 2:
        HtmlPuch_server(data)
    else:
        print('选择错误!')
 
 
def HtmlPuch_server(data): #server酱推送
    url_key = "https://sc.ftqq.com/" + server_key + ".send"
    push_data = {'text':"全国疫情数据实时统计",'desp':data}
    html = requests.post(url_key,headers=UserAgent(),data=push_data)
 
def HtmlPuch_coolpush(data):  #酷推推送
    url_key = "https://push.xuthus.cc/send/" + coolpush_key
    push_data = {'c':data}
    html = requests.get(url=url_key,params=push_data,headers=UserAgent())
 
def HtmlPuch_Qmsg(data):  #Qmsg推送
    url_key = "https://qmsg.zendee.cn/send/" + qmsg_key
    push_data = {'msg':data}
    html = requests.get(url=url_key,params=push_data,headers=UserAgent())

云函数部署

1、以上代码下载之后,部署到腾讯云云函数。打开腾讯云控制台,搜索“云函数”,点击“函数服务”,“新建”。

腾讯云后台

2、选择“自定义创建”,输入“执行方法”。

自定义

这里的执行方法是代码调用函数方法名,输入错误将报错。

执行方法

以上步骤处理完之后,“测试”无误,点击“部署”即可。


如图日志

3、创建触发器
创建触发器,设置每天早上7点给我发天气信息。

定时器

示例效果

天气信息

全国疫情的部署方式也是一样,如果你有什么有趣的脚本,不妨放在云函数上运行,每月免费额度还是很多的。
云函数额度

更多博文可以在我的博客中查看。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容