目录
1.目标
由于学校或公司网站服务对象的特殊性和局限性,一般不会建立自己的RSS系统。
这里介绍了如何使用Python和常用的计算机小程序来构建一个RSS提示系统,做到定时自动检测目标网站发布的通知,并即时发送提示邮件。
本期文章设计RSS提示系统的主要思路是:
-
爬取目标网站内容,建立本地已有通知数据库;
-
模拟smtp服务器,建立邮件发送系统;
-
解析检测目标网站发布的通知,若有新内容,则更新数据库并发送提示邮件;
-
制定计划任务实现定时自动执行Python脚本程序。
需要说明的是,文章所附代码是个样板,其中关于目标网站和邮件系统等的内容要根据自己的实际需要来修改和配置。
2.Python代码
import sqlite3
import urllib.request, urllib.error
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
url = '自己的目标网站'
def initdb(): # 数据库初始化
conn = sqlite3.connect('tongzhi.sqlite')
db = conn.cursor()
sql = "CREATE TABLE IF NOT EXISTS tongzhis(title TEXT, lianjie TEXT, date TEXT)"
db.execute(sql)
conn.commit()
return {
"conn": conn, "cursor": db} # 获取数据库游标
connection = initdb()
conn, db = connection['conn'], connection['cursor'] # 获取数据库游标,作为广域变量!
def gethtml(url):
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'}
req = urllib.request.Request(url, headers=header)