2 分钟,教你用 Serverless 每天给女朋友自动发土味情话
点击上方卡片了解活动详情!
立即参加:
https://developer.aliyun.com/topic/serverless2022
阿 Ser 从 Serverless 函数计算评测大赛中精选了一些优秀征文,下面我们一起看下“是安可啊” 使用阿里云函数计算 FC 后的真实测评吧!
Serverless 简介
1.Serverless 架构
主要包含两部分:BaaS 和 FaaS,通常位于云端,使用时不需要关注最底层的服务器。
BaaS(后端即服务:Backend as a Service)包括对象存储、云数据库、API 网关、消息推送等。
FaaS(函数即服务:Functions as a Service)对计算能力进行了抽象,可以在无需管理服务器的情况下响应事件。
2.Serverless 三大应用场景
场景一:事件触发场景,有事件触发时才会执行。
场景二:流量突发场景,遇到突发大流量情况时,Serverless 架构下按需加载,弹性伸缩,节省资源,负载均衡。
场景三:大数据处理场景,用户只需要上传核心代码到函数计算,就可以快速完成整个工作。
3.Serverless 的优势
具体可以查看阿里云相关文档: https://developer.aliyun.com/group/serverless
Python 实现发送邮件
import requestsimport yagmail # 此模块用于发邮件import schedule # 此模块用于计划任务from bs4 import BeautifulSoupimport reran = 0url = 'https://tianqi.2345.com/cixian1d/70177.htm' # 定义天气预报的urlloveurl = 'https://www.guaze.com/juzi/23389.html' # 定义情话的urldef 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 = 'gb2312'page = 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(host='smtp.qq.com', user='xxxxxxx@qq.com', # 如过用的是qq邮箱就写smtp.qq.com,如果是163就写smtp.163.compassword='xhaztrwpjffpbdhh', smtp_ssl=True # 授权码在qq邮箱里开启smtp就会生成一个)weather = [weather.text,"每日情话:",content[ran], # 定义发送内容yagmail.inline(r"/.love.jpg") # 附件图片,不发图片可以删掉]yag.send(to=['xxxxxxxxx@qq.com'],subject='早鸭', # 邮件主题contents=weather # 发送的内容为上面定义的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->函数计算

3.进入控制台->服务及函数->创建函数





4.上传代码->上传文件夹->选择文件夹->保存并部署




5.函数配置->编辑环境信息->修改函数入口


6.添加触发器,实现每日定时发送
触发器管理->创建触发器->定时触发器->填写名称和指定时间



7.导入依赖并部署
先在终端执行以下三条命令,导入项目所需要的依赖:
pip3 install yagmail -t .pip3 install schedule -t .pip3 install bs4 -t .

点击右上角保存并部署:

最终效果展示
点击左上角测试函数,然后通过实时日志查看运行结果:




总结
这次实战是对 Serverless 的一次深刻的理解,收获技术的同时也提升了自己的学习能力。
由于目前正在准备考研,就好久没有更新关于自学技术的文章,这回借着阿里云官方评测活动也去学一学火热的 Serverless 无服务架构的技术和思想,在这里分享这个当下流行的技术,然后结合着一些个人浅显的探索,希望能和大佬们共同学习成长!
戳下方,立即查看原文!评论


