5分钟,教你用Python每天跟女朋友说1000遍土味情话!
目录
一、serverless简介
serverless,顾名思义,即“无服务器”,提供一个微型的架构,用户不需要部署、配置或管理服务器服务,只需要专注于业务逻辑,代码运行所需要的服务器服务皆由云端平台来提供,因此运维成本很低。
serverless有一个非常出名的产品,就是亚马逊公司在2014年推出的AWS Lambda。
serverless架构
主要包含两部分:Baas和Faas,通常位于云端,使用时不需要关注最底层的服务器。
Baas(后端即服务:Backend as a Service)包括对象存储、云数据库、API网关、消息推送等。
Faas(函数即服务:Functions as a Service)对计算能力进行了抽象,可以在无需管理服务器的情况下响应事件。
serverless三大应用场景
场景一:事件触发场景,即有事件触发时才会执行。
场景二:流量突发场景,遇到突发大流量情况时,serverless架构下按需加载,弹性伸缩,节省资源,负载均衡。
场景三:大数据处理场景,用户只需要上传核心代码到函数计算,就可以快速完成整个工作。
serverless的优势
传统架构下,面对大流量场景,需要增加机器或者对机器升级,运维较为困难。面对高峰和低谷,无法做到按需使用,成本较高。
serverless架构下,开发者只需专注代码开发,无需在各个云资源控制台手动开通服务和配置管理,并能够根据业务请求自动进行弹性伸缩;支持用户按需付费,成本较低;开发周期快,很大程度上提升了开发、部署的效率。
具体可以查看这里的文档 https://www.serverless.com/cn/framework/docs/
二、python实现发送邮件
import io
import sys
import time
import datetime
import random
import requests from email.mime.text import MIMEText
from email.header import Header
import smtplib import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO) mail_host = "smtp.qq.com"
mail_user = "*********@qq.com" #此处填你的邮箱
mail_girl = "*********@qq.com" #女朋友的邮箱
mail_pass = "*************" #邮箱密码,默认POP3/SMTP服务是关闭的,需要在设置中开启查看
name_gf = "***" #女朋友的名字
mail_port = 465
#sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8') def getWeather():
r = requests.get(
'http://wthrcdn.etouch.cn/weather_mini?city=%E5%8C%97%E4%BA%AC')
if 'OK' in r.text:
r = r.json()['data']
tip = r['ganmao']
temperature = r['wendu']
weather = r['forecast'][0]['type']
return f'天气:{weather} 当前温度:{temperature}\n{tip}'
return '获取天气失败:(' def getTime():
today = datetime.datetime.now()+datetime.timedelta(hours=+8)
t = today.timetuple()
return f'今天是{t.tm_year}年{t.tm_mon}月{t.tm_mday}日 星期{t.tm_wday+1}' def getSoup(): return{
0:'你知道你和星星有什么区别吗?星星在天上,你在我心里。',
1:'这是我的手背,这是我的脚背,你是我的宝贝。',
2:'莫文蔚的阴天,孙燕姿的雨天,周杰伦的晴天,都不如你和我聊天。',
3:'我觉得你好像一款游戏。什么游戏?我的世界。',
4:'你今天特别讨厌,讨人喜欢和百看不厌。',
5:'你上辈子一定是碳酸饮料吧,为什么我一看到你就能开心的冒泡。',
6:'我对你的爱,就像拖拉机上山,轰轰烈烈……',
}.get(random.randint(0,6),'false') def morning():
return '\n'.join([getTime(), getSoup(), getWeather()]) def night():
return '\n'.join([getSoup(), f'晚安,{name_gf},梦里见!']) def getTimeX():
t = int(time.strftime("%H", time.localtime()))+8
if t > 24:
t = t-24
return 'morning' if t < 11 else ('noon' if t < 17 else 'afterNoon') def main_handler(event, context):
smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)
print('enter')
try:
smtpObj.login(mail_user, mail_pass) except smtplib.SMTPException as e:
logger.info(e)
return False
content = night() if getTimeX() == 'afterNoon' else morning()
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = mail_user
message['To'] = mail_girl
message['Subject'] = f'早安,{name_gf}' if getTimeX() != 'afterNoon' else '晚安,{name_gf}'
try:
smtpObj.sendmail(mail_user, [mail_girl], message.as_string())
logger.info("发送成功")
except smtplib.SMTPException as e:
logger.info(e)
logger.info("发送失败")
logger.info(content)
return content
三、部署到腾讯云serverless,实现自动发送
1.注册腾讯云账号腾讯云 - 产业智变 云启未来 (tencent.com)
2.找到云函数的管理控制台->函数服务->新建->自定义创建



3.将函数代码粘贴到index.py中,单击完成。

4.点击部署,部署到腾讯云

5.找到触发管理,创建触发器,设置定时触发

四、效果展示

马上就要到520了,快用起来吧!
五、注意事项
同时发给多个人的时候,一定要注意创建一个新的函数。
为什么呢?

因为我在运行过程中出现了一个error,收到的邮件是这个样子

一堆“早安,小红”里面突然混进了一个“早安,小白”。
查看了一下日志,是一个超时错误。调用失败后自动运行了前一个调用成功的代码,而我发送的时候只改了女朋友的名字。。

(幸好是在测试的时候发现的,否则又将是一个翻车现场。
5分钟,教你用Python每天跟女朋友说1000遍土味情话!的更多相关文章
- 【python】10分钟教你用python打造贪吃蛇超详细教程
10分钟教你用python打造贪吃蛇超详细教程 在家闲着没妹子约, 刚好最近又学了一下python,听说pygame挺好玩的.今天就在家研究一下, 弄了个贪吃蛇出来.希望大家喜欢. 先看程序效果: 0 ...
- 10分钟教你用Python打造天气机器人+关键字自动回复+定时发送
01 前言 Hello,各位小伙伴.自上次我们介绍了Python实现天气预报的功能以后,那个小程序还有诸多不完善的地方,今天,我们再次来完善一下我们的小程序.比如我们想给机器人发“天气”等关键字,它就 ...
- 10分钟教你用Python打造微信天气预报机器人
01 前言 最近武汉的天气越来越恶劣了.动不动就下雨,所以,拥有一款好的天气预报工具,对于我们大学生来说,还真是挺重要的了.好了,自己动手,丰衣足食,我们来用Python打造一个天气预报的微信机器人吧 ...
- 10分钟教你用Python玩转微信之好友性别比例统计分析
01 前言+效果展示 想必,微信对于大家来说,是再熟悉不过的了.那么,大家想不想探索一下微信上的各种奥秘呢?今天,我们一起来简单分析一下微信上的好友性别比例吧~废话不多说,开始干活. 结果如下: 02 ...
- 10分钟教你用Python玩转微信之抓取好友个性签名制作词云
01 前言+展示 各位小伙伴我又来啦.今天带大家玩点好玩的东西,用Python抓取我们的微信好友个性签名,然后制作词云.怎样,有趣吧~好了,下面开始干活.我知道你们还是想先看看效果的. 后台登录: 词 ...
- 【python】10分钟教你用python如何正确把妹
前言 今天没妹子约,刚好研究一下.如何用神奇的python打造一个把妹神器吧.看完这个,你们就能走向人生巅峰,迎娶白富美啦. 我知道你们想看看效果 image 当然啦,这只是测试版的效果,真正的版本可 ...
- 【python】10分钟教你用python下载和拼接微信好友头像图片
前言 相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就 ...
- 【python】10分钟教你用python一行代码搞点大新闻
准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python. ...
- 10分钟教你用Python实现微信自动回复
01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把 ...
随机推荐
- 【牛客网】数据库SQL实战(题解)
1.查找最晚入职员工的所有信息 [题解] hire_date可能存在重复值,所以需要找到hire_date的最大值,然后再筛选,才能hire_date最晚的记录都筛选出来. [代码] 1 SELECT ...
- HDU(1420)Prepared for New Acmer(JAVA语言)【快速幂模板】
思路:快速幂裸题. //注意用long,否则会超范围 Problem Description 集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相 ...
- 面向对象进阶时,if语句写错位置
这周blog我也不知道要写什么,因为这章我其实学得有点懵,前面那几天我纠结了好久代码,一直不知道原因错在哪里.后来经过询问老师才知道自己调用错了构造方法,相信也有跟我一样的新手会犯这个错误.我在创建关 ...
- Python爬虫系列之爬取美团美食板块商家数据(一)
主要思路 目的: 根据输入的城市名,爬取该城市美团美食板块所有商家的数据.数据包括: 店名.评分.评论数量.均价.地址, 并将这些数据存入Excel中. 最后尝试对爬取到的数据做一个简单的分析. 克服 ...
- Git 在解决冲突的时候文件覆盖
更新代码导致被还原或覆盖的场景:1.触发冲突的必要条件是修改同一个文件且修改的位置非常近,否则Git会自动合并其内容避免更新代码导致被还原或覆盖的解决方案1.少修改的地方(生产环境.公网测试环境):推 ...
- .Net Core 3.1浏览器后端服务(五) 引入定时任务Quartz.Net
一.前言 近期项目中遇到一些需求,需要定时写入数据库,定时刷新缓存的问题,因此需要引入任务调度机制. 我的选择是使用 Quartz.Net,使用的版本是 3.2.4 这里强调一点:3.x的版本与2.x ...
- 20182217_刘洪宇 后门原理与实践 EXP2
1.后门概念 后门就是不经过正常认证流程而访问系统的通道. 哪里有后门呢? 编译器留后门 操作系统留后门 最常见的当然还是应用程序中留后门 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序. - ...
- Windows下C++/Fortran调用.exe可执行文件
目录 软件环境 Windows下CMake编译配置 设置项目的generator Command Line CMake GUI PreLoad.cmake 设置make 示例程序 CMake 设置Fo ...
- 软工案例分析之OJ
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 和我的团队开发一个真正的软件,一起提升开发与合作的能力 这 ...
- 采用QT技术,开发OFD电子文档阅读器
前言 ofd作为板式文档规范,相当于国产化的pdf.由于pdf标准制定的较早,相关生态也比较完备,市面上的pdf阅读器种类繁多.国内ofd阅读器寥寥无几,作者此前采用wpf开发了一款阅读器,但该阅读器 ...