作家
登录

用Python构建你自己的RSS提示系统

作者: 来源: 2018-03-22 14:17:55 阅读 我要评论

全平易近充电节 | 3月26日~30日 2000位IT行业拭魅战专家邀请你一路充电进修!


用Python构建你本身的RSS提示体系

人生苦短,我用 Python,Python 是异常棒的快速构建应用法度榜样的编程说话。在这篇文┞仿中我们将进修若何应用 Python 去构建一个 RSS 提示体系,目标是应用 Fedora 快活地进修 Python。如不雅你正在寻找一个完全的 RSS 提示应用法度榜样,在 Fedora 中已经预备好了几个包。

Fedora 和 Python —— 入门常识

因为 feedparser 并不是标准库,我们须要将它安装到我们的体系上。荣幸的是,在 Fedora 中有这个 RPM 包,是以,我们可以运行如下的敕令去安装 feedparser:

  1. $ sudo dnf install python3-feedparser

我们如今已经拥有了编写我们的应用法度榜样所需的器械了。

存储源数据

我们须要存储已经宣布的文┞仿的数据,如许我们的体系就可以只提示新宣布的文┞仿。我们要保存的数据将是用来辨别一篇文┞仿的独一办法。是以,我们将存储文┞仿的标题和宣布日期。

这几行代码创建一个名为 magazine_rss.sqlite 文件的新 sqlite 数据库,然后在数据库创建一个名为 magazine 的新表。这个表有两个列 —— titledate —— 它们能存诸 TEXT 类型的数据,也就是说每个列的值都是文本字符。

检查数据库中的旧文┞仿

因为我们仅欲望增长新的文┞仿到我们的数据库中,是以我们须要一个功能去检查 RSS 源中的文┞仿在数据库中是否存在。我们将根据它来断定是否发送(有新文┞仿的)邮件提示。Ok,如今我们啻写这个功能的代码。

  1. def article_is_not_db(article_title, article_date):
  2. """ Check if a given pair of article title and date
  3. is in the database.
  4. Args:
  5. article_title (str): The title of an article
  6. article_date (str): The publication date of an article
  7. Return:
  8. True if the article is not in the database
  9. False if the article is already present in the database
  10. """
  11. db.execute("SELECT * from magazine WHERE title=? AND date=?", (article_title, article_date))
  12. if not db.fetchall():
  13. return True
  14. else:
  15. return False
  1. #!/usr/bin/python3
  2. import sqlite3
  3. import
     1/4    1 2 3 4 下一页 尾页

      推荐阅读

      规避FB数据危机,详解银监会数据治理指引落地路线

    全平易近充电节 | 3月26日~30日 2000位IT行业拭魅战专家邀请你一路充电进修! 就在前天,Facebook爆发了史上最大年夜的数据危机:其开放API接口给第三方公司,在未经用户许可的情况下,被盗>>>详细阅读


    本文标题:用Python构建你自己的RSS提示系统

    地址:http://www.17bianji.com/lsqh/40816.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)