首页 > 编程知识 正文

vba 邮件合并,用python搭建推送api

时间:2023-05-06 03:16:42 阅读:183205 作者:4052

爬取微博热搜并发送提醒

写在前面

用到的包

全局变量

爬取数据

发送邮件

开始任务

入口函数

定时提醒

注意事项

结果展示

请参考以下内容

写在前面

今天在CSDN看到了一篇爬取微博热搜并发邮件的博客,但是我在将其部署到腾讯云函数时出现了错误,于是使用server酱推送到微信,效果看起来还不错,废话不多说,上代码!

用到的包

# -*- coding: utf-8 -*-

"""

Created on Thu Aug 6 18:09:58 2020

@author: 勇敢自由

"""

#请在cmd下使用pip install requests命令安装依赖

import requests

import re

import datetime

#以下三个包用于发送邮件,非第三方包,无需使用pip安装

#如果不使用邮件提醒,可以注释掉

import smtplib

from email.mime.text import MIMEText

from email.header import Header

全局变量

#定义一个请求头...尊重一下你要爬的网站

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'

}

#获取日期

date = datetime.datetime.now().strftime('%Y-%m-%d')

#server酱秘钥,请到sc.ftqq.com按提示获取

SCKEY = ''

爬取数据

发送邮件

#用于发送邮件的函数

def send_email(contents):

#配置邮箱host,没有163邮箱的用QQ邮箱也可以

#mailhost = 'smtp.qq.com'

mailhost = 'smtp.163.com'

mail = smtplib.SMTP()

#通过25端口连接host

mail.connect(mailhost,25)

#在这里写入你的邮箱

sender = ''

#SMTP/IMAP授权码,去个人邮箱中开启,请勿使用邮箱密码

password = ''

#收件人,可以与sender一致,也就是自己给自己发邮件

receiver = ''

mail.login(sender, password)

#邮件内容

news = contents

message = MIMEText(news,'plain','utf-8')

#邮件标题

subject = '今日热搜'

message['Subject'] = Header(subject,'utf-8')

#尝试捕捉error

try:

#如果在这里报错就把host换成QQ邮箱

mail.sendmail(sender,receiver,message.as_string())

print('邮件发送完毕')

except Exception as e:

print('邮件发送失败n' + e)

mail.quit()

开始任务

def run():

print('开始推送')

#server酱标题,不可缺省

title = '今日热点已经送达'

#调用函数获取热搜信息

content = Weibo_Spider()

#将数据整理成一个字典

msg = {

'标题':title,

'内容':content

}

#server酱推送到微信

push(SCKEY,msg)

#发送邮件,部署到腾讯云时尽量不要使用,经常调用失败

#send_email(content)

print(date + '任务完成')

入口函数

#本地入口函数,如果使用腾讯云请删除或注释掉

if __name__ == '__main__':

run()

#腾讯云入口函数,此时还请不要使用邮件功能

"""def main_handler(event,context):

run()

return("Success")"""

定时提醒

1:使用微信扫码登录腾讯云

2:点击新建,输入函数名称,运行环境选择python3.6,创建方式选择空白函数

3:清空index.py原有内容,并贴入本文代码,取消末尾入口函数的注释

4:点击下方保存并测试,如果调用成功,你将在返回结果中看到“success”,并且收到微信提醒

5:在下方高级设置里,将内存修改为64MB,超时时间修改为900,点击完成

6:创建触发器,触发方式选择定时触发,cron表达式参考:

0 0 18 * * * *

分别代表秒、分、时、日、月、星期、年,参考式代表的是每天下午6点。

注意事项

1:请勿在五分钟内通过server酱推送相同信息,不然无法收到提醒

2:每天调用尽量不要超过500次,被封的话可以捐赠server酱或者重新注册一个github…

结果展示

请参考以下内容

知乎:十条简明的Markdown格式

CSDN:爬取微博热搜+定时发送邮件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。