利用Python实现网站内容监控及邮件提醒

这篇具有很好参考价值的文章主要介绍了利用Python实现网站内容监控及邮件提醒。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、开启POP3/SMTP服务

二、利用SMTP库实现邮件发送

三、利用requests库监控网页关键字

四、常见问题


一、开启POP3/SMTP服务

以QQ邮箱为例:进入邮箱->设置->账户->开启POP3/SMTP等服务->获取授权码

①首先进入QQ邮箱后点击设置

利用Python实现网站内容监控及邮件提醒,# 爬虫,自动化,爬虫,网络,运维,python

② 点击邮箱设置中的账户

利用Python实现网站内容监控及邮件提醒,# 爬虫,自动化,爬虫,网络,运维,python

 ③下滑找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务并开启,按照步骤获取验证码验证后获取授权码

利用Python实现网站内容监控及邮件提醒,# 爬虫,自动化,爬虫,网络,运维,python

 利用Python实现网站内容监控及邮件提醒,# 爬虫,自动化,爬虫,网络,运维,python

 ④记录授权码,后续需要在代码中配置

二、利用SMTP库实现邮件发送

 本文仅展示能够实现相关功能的代码,更多SMTP库可参考如下资料:

①第11章:python自动化——SMTP库实现邮件发送_测试小咖的博客-CSDN博客

 ②使用Python自动发送邮件_艾派森的博客-CSDN博客

2.1 smtp_obj

smtp_obj = smtplib.SMTP( [host [, port [, local_hostname]]] )
参数:

host: SMTP 服务器主机
port: 若提供了 host 参数, 则指定 SMTP 服务使用的端口号
local_hostname:当 SMTP 在本机时,只需指定服务器地址为 localhost 

2.2 MIMEText(实现支持HTML格式的邮件)

(1) 邮件内容
text = "Pass"

msg = MIMEText(text,'plain', 'utf-8') 

(2) 邮件主题
msg['Subject'] = 'title'

(3)发送方
msg['From'] = sender

2.3 SMTP.sendmail

SMTP 对象使用 sendmail 方法发送邮件

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
参数:

from_addr: 发送者地址。
to_addrs: 目标邮箱
msg: 发送消息

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email():
    smtp_obj = smtplib.SMTP('smtp.qq.com',587)
    smtp_obj.login('350810379@qq.com','对应授权码')

    mail_text = '邮件正文'
    msg_body = MIMEText(mail_text,'plain','utf-8')
    msg_body['From'] = Header('zsl<350810379@qq.com>')  #发送人->参考RFC2047, RFC822协议
    msg_body['Subject'] = Header('邮件标题','utf-8')  #内容主题

    smtp_obj.sendmail('350810379@qq.com','forest_zh@163.com',msg_body.as_string())

send_email()

运行结果:

利用Python实现网站内容监控及邮件提醒,# 爬虫,自动化,爬虫,网络,运维,python

三、利用requests库监控网页关键字

以北京理工大学机电学院通知公告为例,若要监控“机电学院2023年博士研究生招生拟录取”并实现自动发送邮件提醒,首先在循环中利用requests库获取通知公告网页的文本数据,然后利用in关健字判断相关内容是否在网页中出现,当目标字段出现后利用break结束循环。

完整代码如下

import smtplib
from email.mime.text import MIMEText
from email.header import Header
import requests
from bs4 import BeautifulSoup
import time

def send_email():
    smtp_obj = smtplib.SMTP('smtp.qq.com',587)

    smtp_obj.login('350810379@qq.com','授权码')

    mail_text = 'Pass'
    msg_body = MIMEText(mail_text,'plain','utf-8')
    msg_body['From'] = Header('zsl<350810379@qq.com>') 
    msg_body['Subject'] = Header('机电学院2023年博士研究生招生拟录取','utf-8') 

    smtp_obj.sendmail('350810379@qq.com','forest_zh@163.com',msg_body.as_string())


while True:
    try:
        url = "https://smen.bit.edu.cn/tzgg1/index.htm"
        res = requests.get(url)
        res.encoding = res.apparent_encoding

        if "机电学院2023年博士研究生招生拟录取" in res.text  :
            print("test")
            send_email()
            break

        time.sleep(30)
    
    except Exception as e:
        print(e)

四、常见问题

注意:

①需要输入邮箱对应的授权码!!!

错误header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard pro->解决方法From(msg_body['From'])合法性检查(帮助系统)->代发问题、发件人中文名编码问题

错误:Connection unexpectedly closed->解决方法:smtp_obj = smtplib.SMTP('smtp.qq.com',587) 设置发送服务器端口号为465或587文章来源地址https://www.toymoban.com/news/detail-539968.html

到了这里,关于利用Python实现网站内容监控及邮件提醒的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 搜索引擎优化:利用Python爬虫实现排名提升

    搜索引擎优化(SEO)是通过优化网站内容和结构,提高网站在搜索引擎中的排名,从而增加网站流量和曝光度的技术和方法。SEO的目标是使网站在搜索引擎结果页面中获得更高这个过程包括吸引更多访问者的优化、内容优化、技术优化和用户体验优化等方面。SEO是网站

    2024年01月19日
    浏览(92)
  • python实现监控指定进程的CPU利用率、内存占用

            因为需要一直关注被测软件的CPU利用率和内存占用,人工记录十分麻烦,所以想做一个应用程序来代替手工记录。 思路: 1.弹窗,输入进程号 2.获取进程对象 3.日志保存在一个csv文件中,文件命名方式为:进程名+Process+进程号 4.文件第一行写入进程名,第二行表

    2023年04月12日
    浏览(46)
  • python读取并解析邮箱邮件,读取邮件主题、内容、时间

    python读取邮件时,首先需要邮箱开启IMAP服务或POP服务,通常在邮箱的设置界面可以开启,不过默认似乎是不开启的。 IMAP是什么?IMAP和POP有什么区别?:https://open.work.weixin.qq.com/help2/pc/19887?person_id=1 以腾讯邮箱为例,在开启imap服务同一个界面下,会看到相关配置: 这里我们

    2024年01月21日
    浏览(48)
  • 掌握Python爬虫实现网站关键词扩展提升曝光率

    目录 一、优化的重要性 二、优化的基本方法 1、选择与网站内容相关的 2、控制的密度和分布 3、的层次布局 三、Python爬虫实现网站扩展 1、确定目标网站 2、分析目标网站的HTML结构 3、编写Python爬虫代码 4、分析爬取到的数据

    2024年02月07日
    浏览(53)
  • Python爬虫:实现爬取、下载网站数据的几种方法

    使用脚本进行下载的需求很常见,可以是常规文件、web页面、Amazon S3和其他资源。Python 提供了很多模块从 web 下载文件。下面介绍 requests 模块是模仿网页请求的形式从一个URL下载文件 示例代码: 安装 wget 库 示例代码 有些 URL 会被重定向到另一个 URL,后者是真正的下载链接

    2024年02月05日
    浏览(73)
  • iPhone手机自带邮件不实时提醒的解决方法

    相信很多iPhone用户,都有在使用 iOS自带的邮件APP 。它可以同时绑定 QQ、163、Gmail 等多个邮箱帐户, 实现一个客户端,收取多处邮件 。这样我们就无需分别下载各种邮箱的客户端,一个应用就能搞定。 不过,初次使用iOS邮件APP,你可能会遇到个问题。 通知权限已打开,但收

    2024年02月04日
    浏览(193)
  • Prometheus实现系统监控报警邮件

    Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上, 然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,聚合报警信息过后通过email、PagerDuty、HipChat、Slack 等方式发送消息提示。本文演示通过email发送告警信息。 中文技术文档

    2024年02月14日
    浏览(40)
  • 【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据,简洁45行代码实现,更新时间2023-06-28

    链接:https://pan.baidu.com/s/18oE308_NVNPaCOACw_H5Hw?pwd=abc1  利用爬虫抓取双色球开奖号码,获取完整数据,简洁45行代码实现,更新时间2023-06-28 这是网上的数据,怎么将它爬取下来 它将只爬取最近30期的双色球开奖号码,并将结果写入到名为 \\\"双色球开奖结果.csv\\\" 的文件中。   生成

    2024年02月15日
    浏览(171)
  • Win10/Win11日历提醒与手机日历同步互联+自带邮件收发配置

    说明 日历同步 所需工具:此处以 QQ 邮箱为例,在 Windows 日历与小米手机日历之间相互同步提醒事件; 效果:在一端编辑提醒事件后,其他所绑定的平台都会自动同步,其他手机理论通; 延迟:自动同步有时间间隔,也就几分钟而已,若想获取最新事件可点击手动同步; 同

    2024年02月09日
    浏览(136)
  • 爬虫项目(10):白嫖抓第三方网站接口,基于Flask搭建搭建一个AI内容识别平台

    在数据驱动的时代,人工智能生成的内容变得越来越普遍。对于内容创作者和分析师来说,区分AI生成的内容与人类生成的内容变得尤为重要。在这篇文章中,我们将介绍一个项目,该项目使用 Flask 和 Requests 库来模拟对 writer.com 的 AI 内容检测功能的访问。 地址:https://nice

    2024年01月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包