全平易近充电节 | 3月26日~30日 2000位IT行业拭魅战专家邀请你一路充电进修!
人生苦短,我用 Python,Python 是异常棒的快速构建应用法度榜样的编程说话。在这篇文┞仿中我们将进修若何应用 Python 去构建一个 RSS 提示体系,目标是应用 Fedora 快活地进修 Python。如不雅你正在寻找一个完全的 RSS 提示应用法度榜样,在 Fedora 中已经预备好了几个包。
Fedora 和 Python —— 入门常识
因为 feedparser 并不是标准库,我们须要将它安装到我们的体系上。荣幸的是,在 Fedora 中有这个 RPM 包,是以,我们可以运行如下的敕令去安装 feedparser:
$ sudo dnf install python3-feedparser
我们如今已经拥有了编写我们的应用法度榜样所需的器械了。
存储源数据
我们须要存储已经宣布的文┞仿的数据,如许我们的体系就可以只提示新宣布的文┞仿。我们要保存的数据将是用来辨别一篇文┞仿的独一办法。是以,我们将存储文┞仿的标题和宣布日期。
这几行代码创建一个名为 magazine_rss.sqlite
文件的新 sqlite 数据库,然后在数据库创建一个名为 magazine
的新表。这个表有两个列 —— title
和 date
—— 它们能存诸 TEXT 类型的数据,也就是说每个列的值都是文本字符。
检查数据库中的旧文┞仿
因为我们仅欲望增长新的文┞仿到我们的数据库中,是以我们须要一个功能去检查 RSS 源中的文┞仿在数据库中是否存在。我们将根据它来断定是否发送(有新文┞仿的)邮件提示。Ok,如今我们啻写这个功能的代码。
def article_is_not_db(article_title, article_date):
""" Check if a given pair of article title and date
is in the database.
Args:
article_title (str): The title of an article
article_date (str): The publication date of an article
Return:
True if the article is not in the database
False if the article is already present in the database
"""
db.execute("SELECT * from magazine WHERE title=? AND date=?", (article_title, article_date))
if not db.fetchall():
return True
else:
return False
#!/usr/bin/python3
import sqlite3
import
推荐阅读
全平易近充电节 | 3月26日~30日 2000位IT行业拭魅战专家邀请你一路充电进修! 就在前天,Facebook爆发了史上最大年夜的数据危机:其开放API接口给第三方公司,在未经用户许可的情况下,被盗>>>详细阅读
本文标题:用Python构建你自己的RSS提示系统
地址:http://www.17bianji.com/lsqh/40816.html
1/2 1