大宁网站制作,手机导航网站模板,python做爬虫和做网站,一键建站网站一、Serverless简介
Serverless#xff0c;中文意思是“无服务器”#xff0c;所谓的无服务器并非是说不需要依靠服务器等资源#xff0c;而是说开发者再也不用过多考虑服务器的问题#xff0c;可以更专注在产品代码上#xff0c;同时计算资源也开始作为服务出现#xf…一、Serverless简介
Serverless中文意思是“无服务器”所谓的无服务器并非是说不需要依靠服务器等资源而是说开发者再也不用过多考虑服务器的问题可以更专注在产品代码上同时计算资源也开始作为服务出现而不是作为服务器的概念出现。
1.Serverless架构
主要包含两部分Baas和Faas通常位于云端使用时不需要关注最底层的服务器。
Baas后端即服务Backend as a Service包括对象存储、云数据库、API网关、消息推送等。 Faas函数即服务Functions as a Service对计算能力进行了抽象可以在无需管理服务器的情况下响应事件。
2.Serverless三大应用场景
场景一事件触发场景即有事件触发时才会执行。 场景二流量突发场景遇到突发大流量情况时Serverless架构下按需加载弹性伸缩节省资源负载均衡。 场景三大数据处理场景用户只需要上传核心代码到函数计算就可以快速完成整个工作。
3.Serverless的优势
传统架构下面对大流量场景需要增加机器或者对机器升级运维较为困难。面对高峰和低谷无法做到按需使用成本较高。
Serverless架构下开发者只需专注代码开发无需在各个云资源控制台手动开通服务和配置管理并能够根据业务请求自动进行弹性伸缩支持用户按需付费成本较低开发周期快很大程度上提升了开发、部署的效率。 具体可以查看阿里云相关文档 https://developer.aliyun.com/group/serverless
二、Python实现发送邮件
import requests
import yagmail # 此模块用于发邮件
import schedule # 此模块用于计划任务
from bs4 import BeautifulSoup
import reran 0
url https://tianqi.2345.com/cixian1d/70177.htm # 定义天气预报的url
loveurl https://www.guaze.com/juzi/23389.html # 定义情话的url
def email():global ran # 将ran变量声明为全局变量web requests.get(url)# print(web.text)page BeautifulSoup(web.text,html.parser)# print(ran)# print(love[ran])weather page.find(div,class_real-today)# print(weather.text)web2 requests.get(loveurl)web2.encoding gb2312page BeautifulSoup(web2.text, html.parser)div page.find(div, class_content)div str(div.text)# print(div)grep re.compile(r\d、(.*))content grep.findall(div)# print(content)# email函数内的内容是爬取天气和情话的具体的地址天气你可以更换urlyag yagmail.SMTP(hostsmtp.qq.com, userxxxxxxxqq.com, # 如过用的是qq邮箱就写smtp.qq.com如果是163就写smtp.163.compasswordxhaztrwpjffpbdhh, smtp_sslTrue # 授权码在qq邮箱里开启smtp就会生成一个)weather [weather.text,每日情话:,content[ran], # 定义发送内容yagmail.inline(r/.love.jpg) # 附件图片不发图片可以删掉]yag.send(to[xxxxxxxxxqq.com],subject早鸭, # 邮件主题contentsweather # 发送的内容为上面定义的weather其中weather.text是天气预报content[ran]是情话)print(发送完成)ran 1schedule.every().day.at(05:21).do(email) # 每天5点20分执行函数email0
#schedule.every(10).seconds.do(email) #每10秒执行一下函数email的内容我这里用于测试
while True:schedule.run_pending() 三、部署到阿里云Serverless实现自动发送
1.登录到阿里云首页 2.选择产品-弹性计算-Serverless-函数计算FC 3.进入控制台-服务及函数-创建函数 4.上传代码-上传文件夹-选择文件夹-保存并部署 5.函数配置-编辑环境信息-修改函数入口 6.添加触发器实现每日定时发送
触发器管理-创建触发器-定时触发器-填写名称和指定时间 7.导入依赖并部署
先在终端执行以下三条命令导入项目所需要的依赖
pip3 install yagmail -t .
pip3 install schedule -t .
pip3 install bs4 -t . 点击右上角保存并部署 四、效果展示
点击左上角测试函数然后通过实时日志查看运行结果。 五、总结
这次实战是对Serverless的一次深刻的理解收获技术的同时也提升了自己的学习能力。由于目前正在准备考研就好久没有更新关于自学技术的文章这回借着阿里云官方评测活动也去学一学火热的 Serverless 无服务架构的技术和思想在这里分享这个当下流行的技术然后结合着一些个人浅显的探索希望能和大佬们共同学习成长
演示视频https://developer.aliyun.com/live/249772
原文链接
本文为阿里云原创内容未经允许不得转载。