用代码收集每天热点内容信息,并发送到自己的邮箱

前言

本篇文章内容主要为如何用代码,把你想要的内容,以邮件的形式发送出去
内容可以自己完善,还可以设置一个定时发送,或者开机启动自动运行代码

代理注册与使用

注册账号并登录

生成api

将自己电脑加入白名单

http://api.tianqiip.com/white/add?key=xxx&brand=2&sign=xxx&ip=输入自己电脑的ip地址

1. win+R 输入cmd

2. 回车在弹出的窗口里面输入 ipconfig

当前ipv4就是自己的ip地址

3. 添加白名单(输入ip之后直接访问即可)

http://api.tianqiip.com/white/add?key=xxx&brand=2&sign=xxx&ip=输入自己电脑的ip地址
备注: 每个人的地址不一样需要自己在提取ip页面查找

代码实现

邮箱发送

def sendEmail(title, content, received_mail):
    # 邮箱属性配置
    # 邮箱服务端
    mailserver = 'smtp.qq.com'
    # 发件人-此邮箱是我随便写的
    userName_SendMail = '***@qq.com'
    # 邮箱发件授权码-为发件人邮箱根据第四步生成的授权码
    userName_AuthCode = '******'
    # 定义邮件的接收者-我随便写的,若收件人较多,可用列表表示
    received_mail = [received_mail]
    # 发送一封简单的邮件,处理邮件内容
    # content = content
    # 纯文本形式的邮件内容的定义,通过MIMEText进行操作,plain为默认的文本的展示形式
    email = MIMEText(content, 'plain', 'utf-8')
    email['Subject'] = title  # 定义邮件主题
    email['From'] = userName_SendMail  # 发件人
    email['To'] = ','.join(received_mail)  # 收件人(可以添加多个,若只有一个收件人,可直接写邮箱号)
    # 发送邮件
    # QQ邮箱的端口号是465,其他邮箱的端口号可自行百度,非QQ邮箱,一般使用SMTP即可,不需要有SSL
    smtp = smtplib.SMTP_SSL(mailserver, port=465)
    smtp.login(userName_SendMail, userName_AuthCode)
    smtp.sendmail(userName_SendMail, ','.join(received_mail), email.as_string())
    smtp.quit()
    print('邮件发送成功')

新闻内容获取

首先,找到你想要的数据在哪
打开开发者工具,点一下放大镜,搜索关键词

然后在Headers里找到数据所在的url链接

导入所需模块,以及写好的代码
import requests
import re
from SendEmail import sendEmail
获取想要的新闻信息
url = 'https://top.baidu.com/board?tab=realtime&sa=fyb_realtime_31065'
response = requests.get(url)
content = re.findall('<!--s-data:(.*?)-->', response.text)[0]
sendEmail("今日百度热搜", content, '****@qq.com')

哔站视频号个人主页:松鼠爱吃饼干
200+ Python案例讲解
posted @ 2022-07-27 16:44  松鼠爱吃饼干  阅读(260)  评论(0编辑  收藏  举报
Title