关于github:Serverless实战2分钟教你用Serverless每天给女朋友自动发土味情话

26次阅读

共计 2577 个字符,预计需要花费 7 分钟才能阅读完成。

原文链接:https://developer.aliyun.com/article/981268

演示视频:https://developer.aliyun.com/live/249772

一、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 re

ran = 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 = '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 函数内的内容是爬取天气和情话的,具体的地址天气你能够更换 url

    yag = yagmail.SMTP(
        host='smtp.qq.com', user='xxxxxxx@qq.com',   # 如过用的是 qq 邮箱就写 smtp.qq.com,如果是 163 就写 smtp.163.com
        password='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 += 1

schedule.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 无服务架构的技术和思维,在这里分享这个当下风行的技术,而后联合着一些集体通俗的摸索,心愿能和大佬们独特学习成长!😄😄

更多内容关注 Serverless 微信公众号(ID:serverlessdevs),会集 Serverless 技术最全内容,定期举办 Serverless 流动、直播,用户最佳实际。

正文完
 0