要开始使用桌面新闻通知程序, 我们需要两个库: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()
新闻通知弹出窗口的屏幕截图
文章图片
逐步说明代码:
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)
【20行Python代码(桌面新闻通知程序)】将紧急级别设置为URGENCY_LOW, URGENCY_NORMAL或URGENCY_CRITICAL之一
n.show()
此方法将在桌面上显示通知
n.set_timeout(15000)
设置将通知保留在桌面上的时间(以毫秒为单位)。我在这里设置为15秒。
time.sleep(1200)
通常, 这将每20分钟显示一次新闻通知。你可以根据需要设置时间。你可以找到托管在其上的完整源代码的GitHub
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python字典查找字符串中的镜像字符
- Python使用OpenCV检测图像的一角
- Python Django管理界面项目示例
- Python Django Google身份验证和从头开始获取邮件
- Python Django新闻应用项目示例
- Python使用模板匹配检测文档字段
- Python Kivy中的下拉列表用法示例
- Python使用.kv文件的kivy下拉列表示例
- Python使用Pandas.iloc[]提取行示例