📅  最后修改于: 2020-05-14 05:05:00             🧑  作者: Mango
要开始使用桌面新闻通知程序,我们需要两个库:feedparser和notify2。
输入以下命令以安装feedparser:
sudo pip3 install feedparser
在终端中安装notify2:
sudo pip3 install notify2
Feedparser将解析我们将从URL获得的供稿。我们将使用notify2进行桌面通知。除了这两个库,我们将使用OS和time lib。安装完成后,将两个库都导入到程序中。在这里,在此示例中,我已经解析了来自BBC UK的新闻,您可以使用任何新闻feedparser URL。让我们看一下程序:
# 用于说明桌面新闻通知程序的Python程序
import feedparser
import notify2
import os
import time
def parseFeed():
f = feedparser.parse("http://feeds.bbci.co.uk/news/rss.xml")
ICON_PATH = os.getcwd() + "/icon.ico"
notify2.init('News Notify')
for newsitem in f['items']:
n = notify2.Notification(newsitem['title'],
newsitem['summary'],
icon=ICON_PATH
)
n.set_urgency(notify2.URGENCY_NORMAL)
n.show()
n.set_timeout(15000)
time.sleep(1200)
if _name_ = '_main_':
parseFeed()
新闻通知弹出窗口的屏幕截图
逐步说明代码:
f = feedparser.parse("http://feeds.bbci.co.uk/news/rss.xml")
feedparser在这里将从提要URL中解析新闻数据。解析的数据将以字典的形式返回。
ICON_PATH = os.getcwd() + "/icon.ico"
如果您想在通知中设置任何图标,那么我们在这里设置图标路径,这是可选的。
notify2.init('News Notify')
在这里,我们使用notify2的init方法初始化notify2。初始化D-Bus连接。在发送任何通知或检索服务器信息或功能之前,必须先调用它。
for newsitem in f['items']:
n = notify2.Notification(newsitem['title'],
newsitem['summary'],
icon=ICON_PATH
)
从解析的数据循环获取相关信息,例如新闻标题,简短摘要,并使用notify2 lib的Notification方法设置通知图标。
n.set_urgency(notify2.URGENCY_NORMAL)
将紧急级别设置为URGENCY_LOW,URGENCY_NORMAL或URGENCY_CRITICAL之一
n.show()
此方法将在桌面上显示通知
n.set_timeout(15000)
设置将通知保留在桌面上的时间(以毫秒为单位)。我在这里设置为15秒。
time.sleep(1200)
通常,这将每20分钟显示一次新闻通知。您可以根据需要设置时间。您可以找到GitHub上托管的完整源代码