Python如何自动获取目标网站最新通知

作者:其实还好啦 时间:2021-07-14 18:18:16 

Python如何自动获取目标网站最新通知

不管是一名学生,亦或是一名员工,我们都需要时刻注意学校或公司网站的通知,尽量做到即时获取最新消息。

大部分博客或数据资源网站都会有自己的RSS提示系统,便于将网站的最新信息及时推送给需要的用户,而用户也可以通过RSS阅读器来即时地获取到目标网站的最新内容。

由于学校或公司网站服务对象的特殊性和局限性,一般不会建立自己的RSS系统。

作为优秀的人儿,我们可以建立自己的RSS提示系统。

这里介绍了如何使用Python和常用的计算机小程序来构建一个RSS提示系统,做到定时自动检测目标网站发布的通知,并即时发送提示邮件。

本期文章设计RSS提示系统的主要思路是:

  • 爬取目标网站内容,建立本地已有通知数据库;

  • 模拟smtp服务器,建立邮件发送系统;

  • 解析检测目标网站发布的通知,若有新内容,则更新数据库并发送提示邮件;

  • 制定计划任务实现定时自动执行Python脚本程序。

1.建立通知数据库

这一步的目的是爬取目标网站已经发布的通知的数据,并进行存储,从而建立与该目标网站内容相对应的本地数据库。

考虑到数据库中的数据将是辨别和获取一则新通知的唯一方法,因此所建立的数据库将存储每一条通知的标题、发布日期和访问链接。

第一步使用到的模块有urllib、BeautifulSoup和sqlite3模块。其中,通过urllib模块爬取目标网页html数据;通过BeautifulSoup模块解析网页数据、爬取网页内容;通过sqlite3模块建立目标网站已有通知数据库。

该步主要代码展示如下。

Python如何自动获取目标网站最新通知

2.建立邮件发送系统

这一步的目的是使用Python标准库模块smtplib来访问网络,创建一个发送电子邮件的功能。

由于我们大部分人的计算机并没有建立自己的邮件服务器,因此需借助第三方服务器来模拟邮件发送。

常用的有谷歌邮件系统、网易邮件系统和QQ邮件系统,如QQ邮件系统的SMTP服务器和端口号分别为smtp.qq.com和465。

该步主要代码展示如下。

Python如何自动获取目标网站最新通知

在这个示例中,使用了Python标准库中的email模块将电子邮件信息进行了格式化,主要包括邮件的主题与发件人、收件人邮箱昵称和邮件内容等信息。

3.解析检测目标网站通知

前面两步,已经完成了目标网站已有通知数据库和邮件发送系统的建立,第三步要完成的工作,主要由两部分组成。

一是,利用第一步使用的urllib、BeautifulSoup模块解析目标网站内容数据,并与前面建立的数据库进行对比检测。

二是,若检测到目标网站有新的通知,则将新通知数据插入到数据库中,然后,发送提示电子邮件。

该步主要代码展示如下。

在这个示例中,只选取了最新的一条通知发送了电子邮件提示,具体邮件信息可自己设定。

Python如何自动获取目标网站最新通知

4.制定计划任务

前面三步,已经完成了使用Python获取目标网站最新通知,并发送提示电子邮件的脚本程序。

在这一步,将使用Windows自带的DOS命令框架和任务计划程序去每小时自动运行一次Python脚本,实现自动更新通知的目的。

首先,需要编写一个cmd命令文件,方便在DOS框架下执行Python脚本。

主要代码展示如下:


@echo off # 关闭回显
cd C:\demo # 找到Python脚本文件的路径
python Python.py # 执行Python脚本文件

最后,使用任务计划程序制定一个任务,可设定为每隔一小时自动运行一次cmd命令文件。

Python如何自动获取目标网站最新通知

来源:https://www.cnblogs.com/python0921/p/13137582.html

标签:python,自动获取,通知
0
投稿

猜你喜欢

  • php连接不上mysql但mysql命令行操作正常的解决方法

    2023-11-18 20:02:43
  • php实现的验证码文件类实例

    2023-08-17 17:54:52
  • 泛泛而谈界面中的斑马纹设计

    2010-07-15 12:59:00
  • 深入理解Python虚拟机中的Code obejct

    2023-05-05 02:39:31
  • 用css和js实现firefox和IE支持局部打印

    2008-05-23 13:04:00
  • 在tensorflow以及keras安装目录查询操作(windows下)

    2023-10-31 10:49:21
  • ajax框架:ExtJs简介

    2008-09-02 16:51:00
  • SQL Server中处理空值时涉及的三问题

    2009-01-20 11:24:00
  • Python3.6通过自带的urllib通过get或post方法请求url的实例

    2023-01-21 09:32:41
  • 43个应当避免的Web设计错误

    2007-09-30 12:57:00
  • sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享

    2012-01-05 18:57:19
  • 详解MySQL数据库之更新语句

    2010-08-08 09:15:00
  • FrontPage服务器扩展

    2008-03-05 13:05:00
  • 学好python基本数据类型

    2023-07-24 21:48:40
  • 用js实现小球的自由移动代码

    2023-08-23 02:57:29
  • python如何发布自已pip项目的方法步骤

    2023-01-22 01:17:36
  • 在主机商的共享服务器上部署Django站点的方法

    2021-03-20 22:41:34
  • 用python写扫雷游戏实例代码分享

    2023-03-31 05:12:38
  • 12个对网页设计师非常有用的图片优化工具[译]

    2009-09-22 14:29:00
  • Python通过matplotlib画双层饼图及环形图简单示例

    2021-09-14 11:08:18
  • asp之家 网络编程 m.aspxhome.com