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


Posted in Python onJune 18, 2020

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如何自动获取目标网站最新通知

总结

到此这篇关于Python如何自动获取目标网站最新通知的文章就介绍到这了,更多相关python自动获取最新通知内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python文件和目录操作详解
Feb 08 Python
Python实现小数转化为百分数的格式化输出方法示例
Sep 20 Python
详解用Python处理HTML转义字符的5种方式
Dec 27 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
浅谈Django的缓存机制
Aug 23 Python
python 实现得到当前时间偏移day天后的日期方法
Dec 31 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
pytorch 固定部分参数训练的方法
Aug 17 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
python爬取youtube视频的示例代码
Mar 03 Python
python源码剖析之PyObject详解
May 18 Python
写好Python代码的几条重要技巧
May 21 Python
浅谈keras使用中val_acc和acc值不同步的思考
Jun 18 #Python
python实现在线翻译
Jun 18 #Python
Python函数的迭代器与生成器的示例代码
Jun 18 #Python
使用python实现名片管理系统
Jun 18 #Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 #Python
浅谈keras.callbacks设置模型保存策略
Jun 18 #Python
用python实现名片管理系统
Jun 18 #Python
You might like
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php数组总结篇(一)
2008/09/30 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
javascript hashtable 修正版 下载
2010/12/30 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
jquery中radio checked问题
2015/03/16 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
JavaScript实现数值自动增加动画
2017/12/28 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
javascript实现画板功能
2020/04/12 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
Python中的urllib模块使用详解
2015/07/07 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
上海中网科技笔试题
2012/02/19 面试题
伊索寓言教学反思
2014/05/01 职场文书
家长建议怎么写
2014/05/15 职场文书
开学典礼策划方案
2014/05/28 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
党的群众路线查摆剖析材料
2014/10/10 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
淡雅古典唯美少女娇媚宁静迷人写真
2022/03/21 杂记