基于阿里云Serverless函数计算开发的疫情数据统计推送机器人

简介: 疫情数据统计推送机器人基于Python和阿里云Serverless函数计算开发。实现了使用Python爬取获得疫情数据并进行整理,使用函数计算配合定时触发器,每天定时推送全国疫情数据到企业微信。

一、Serverless函数计算

什么是Serverless?

在《Serverless Architectures》中对 Serverless 是这样子定义的:

Serverless was first used to describe applications that significantly or fully incorporate third-party, cloud-hosted applications and services, to manage server-side logic and state. These are typically “rich client” applications—think single-page web apps, or mobile apps—that use the vast ecosystem of cloud-accessible databases (e.g., Parse, Firebase), authentication services(e.g., Auth0, AWS Cognito), and so on. These types of services have been previously described as “(Mobile) Backend as a service", and I use “BaaS” as shorthand in the rest of this article. Serverless can also mean applications where server-side logic is still written by the application developer, but, unlike traditional architectures, it’s run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a third party. One way to think of this is “Functions as a Service” or “FaaS”.(Note: The original source for this name—a tweet by @marak—isno longer publicly available.) AWS Lambda is one of the most popular implementations of a Functions-as-a-Service platform at present, but there are many others, too.


这样的描述我相信有很多小伙伴不明白,我们可以这样子来理解Serverless:

它的中文直译就是【无服务器】


目前对于 Serverless 有几种解读方法:

  • 在某些场景可以解读为一种软件系统架构方法,通常称为 Serverless 架构
  • 而在另一些情况下,又可以代表一种产品形态,称为 Serverless 产品

可以理解为Severless=FAAS+BAAS  即函数即服务 (Function as a Service)+后端即服务 (Backend as a Service)


阿里云函数计算

阿里云函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地、可靠地运行任务,并提供日志查询、性能监控和报警等功能。

借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

1657873769501.jpg


阿里云也为开发者朋友们提供了每月免费额度

image.png

image.png


二、成果介绍

 疫情数据统计推送基于Python和阿里云Serverless函数计算开发。实现了使用Python爬取获得疫情数据并进行整理,使用函数计算配合定时触发器,每天定时推送全国疫情数据到企业微信。


三、背景意义

 疫情防控常态化,在全球疫情不断加速蔓延态势下在短期内完全结束是不可能的,很有可能较长时期处于疫情防控的状态,这要求我们时刻保持警惕,及时了解疫情情况。疫情数据统计推送项目,顺应了此背景。企业员工每天打开手机微信就可以收到一条简约的推送,了解当日的疫情情况


四、优势和不足

 优势:相对各大媒体每日推送的疫情情况相比,此疫情数据统计推送更加简介,可以更快的获取到有效信息。使用了阿里云函数FC开发,维护方便,无需关注服务器等基础设施,可以根据企业微信推送的需求量自动扩缩容,而且成本极低。使用定时触发器,每天定时的触发程序,发送数据推送,无需人为干预。

 不足:文字单调,将在后期推出数据可视化版本。


五、作品展示

项目代码:

import requests,random,json
url ="https://c.m.163.com/ug/api/wuhan/app/data/list-total"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(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 ='-' * 6+'全国疫情数据实时统计'+'-' * 5+'\n统计截至时间:'+ lastUpdateTime +'\n'+'-' * 27+'\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)
    HtmlPuch_server(data)
def HtmlPuch_server(data):
    url_wx ="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=3b4bd7fa-4063-477f-bbc6-0fe767c52fdf"    headers = {"Content-Type": "text/plain"}
    push_data ={
"msgtype": "text",
"text": {
"content":data
                    }
                }
    html = requests.post(url_wx,headers=headers,json=push_data)
    print(html.text)


使用阿里云函数计算FC服务:

image.png

image.png


image.png


使用定时触发器:

image.png


最终效果:

411e3f8cbb590c0fcf15f5dc128c2d7.jpg


六、总结

 通过Serverless我们不再需要关注务器等基础设施,只需编写并上传代码,只要为任务实际消耗的资源付费,每月的免费额度可以满足开发者的基本使用。现在函数计算FC为开发者提供一站式 Serverless 应用管理,从一键创建应用到快速体验。

image.png

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
10月前
|
机器学习/深度学习 数据采集 监控
量化交易机器人开发风控模型对比分析与落地要点
本文系统对比规则止损、统计模型、机器学习及组合式风控方案,从成本、鲁棒性、可解释性等维度评估其在合约量化场景的适用性,结合落地实操建议,为不同阶段的交易系统提供选型参考。
|
10月前
|
机器学习/深度学习 人工智能 Serverless
吉利汽车携手阿里云函数计算,打造新一代 AI 座舱推理引擎
当前吉利汽车研究院人工智能团队承担了吉利汽车座舱 AI 智能化的方案建设,在和阿里云的合作中,基于星睿智算中心 2.0 的 23.5EFLOPS 强大算力,构建 AI 混合云架构,面向百万级用户的实时推理计算引入阿里云函数计算的 Serverless GPU 算力集群,共同为智能座舱的交互和娱乐功能提供大模型推理业务服务,涵盖的场景如针对模糊指令的复杂意图解析、文生图、情感 TTS 等。
|
人工智能 运维 Cloud Native
阿里云Serverless计算产品入选Gartner®报告「领导者」象限!
近日,Gartner® 发布了 2025 年度全球《云原生应用平台魔力象限》报告,阿里云凭借 Serverless 应用引擎 SAE(以下简称 SAE)和函数计算 FC,成为亚太地区唯一入选「领导者象限」的科技公司。
972 18
|
人工智能 运维 Serverless
活动邀请 | 阿里云AI原生应用开发实战营—Serverless AI 专场(北京站)开启报名!
阿里云 AI 原生应用开发实战营——Serverless AI 专场将于 2025 年 8 月 1 日在北京举办。活动聚焦 Serverless 架构如何助力 AI 应用解决算力成本高、资源弹性需求高、运维复杂等难题,提供分钟级构建生产级 AI 应用的实战体验。
|
11月前
|
消息中间件 运维 监控
爆款游戏背后:尚娱如何借助阿里云 Kafka Serverless 轻松驾驭“潮汐流量”?
阿里云 Kafka 不仅为尚娱提供了高可靠、低延迟的消息通道,更通过 Serverless 弹性架构实现了资源利用率和成本效益的双重优化,助力尚娱在快速迭代的游戏市场中实现敏捷运营、稳定交付与可持续增长。
464 82
|
11月前
|
消息中间件 存储 运维
嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%
云消息队列 Kafka 版 Serverless 系列凭借其秒级弹性扩展、按需付费、轻运维的优势,助力嘉银科技业务系统实现灵活扩缩容,在业务效率和成本优化上持续取得突破,保证服务的敏捷性和稳定性,并节省超过 20% 的成本。
911 77
|
11月前
|
人工智能 机器人 Serverless
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
当云计算遇见具身智能,AI咖啡开启零售新体验。用户通过手机生成个性化图像,云端AI快速渲染,机器人精准复刻于咖啡奶泡之上,90秒内完成一杯可饮用的艺术品。该方案融合阿里云FunctionAI生图能力与安诺机器人高精度执行系统,实现AIGC创意到实体呈现的闭环,为线下零售提供低成本、高互动、易部署的智能化升级路径,已在商场、机场、展馆等场景落地应用。
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
|
人工智能 运维 安全
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
阿里云推出以函数计算为核心的AgentRun平台,通过创新体系解决开发、部署、运维难题,提供全面支持,已在多个真实业务场景验证,是AI原生时代重要基础设施。
|
11月前
|
人工智能 运维 安全
阿里云函数计算 AgentRun 全新发布,构筑智能体时代的基础设施
云原生应用平台 Serverless 计算负责人杨皓然在云栖大会发表主题演讲“Serverless Agent 基础设施:助力大规模 Agent 部署与运维”。本议题深入介绍了阿里云以函数计算为核心打造的 Agent 基础设施——AgentRun,阐述其如何通过创新的运行时、模型服务、网关及可观测体系,为企业构筑坚实、高效、安全的 Agent 时代基石。

热门文章

最新文章

相关产品

  • 函数计算