个性化阅读
专注于IT技术分析

20行Python代码:桌面新闻通知程序

要开始使用桌面新闻通知程序, 我们需要两个库:feedparser和notify2。

输入以下命令来安装feedparser:

sudo pip3 install feedparser

在终端中安装notify2:

sudo pip3 install notify2

Feedparser将解析我们将从URL获得的提要。我们将使用notify2进行桌面通知。除了这两个库, 我们将使用OS和time lib。安装完成后, 将两个库都导入到程序中。在这里, 在此示例中, 我已经解析了来自BBC++UK的新闻, 你可以使用任何新闻feedparser URL。让我们看一下该程序:

# Python program to illustrate 
# desktop news notifier
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()

新闻通知弹出窗口的屏幕截图

20行Python桌面新闻通知程序

逐步说明代码:

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

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

赞(0) 打赏
未经允许不得转载:srcmini » 20行Python代码:桌面新闻通知程序
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏