To get started with the Desktop News Notifier, we require two libraries: feedparser and notify2.
Give following command to to install feedparser:
sudo pip3 install feedparser
For installing notify2 in your terminal:
sudo pip3 install notify2
Feedparser wil parse the feed that we will get from the URL. We will use notify2 for the desktop notification purpose. Other than these two libararies, we will use OS and time lib. Once you are done with the installation import both libraries in the program. Here, in this example i have parsed the news from the BBC UK, you can use any news feedparser URL. Let’s have a look at the program:
Screenshot of the news notification popup
Step by step Explanation of Code:
f = feedparser.parse("http://feeds.bbci.co.uk/news/rss.xml")
Here feedparser will parse the news data from the feed URL. The parsed data will be in the form of dictionary.
ICON_PATH = os.getcwd() + "/icon.ico"
If you want to set any icon in the notification then here we are setting the Icon path. This is optional.
Here we are initializing the notify2 using the init method of notify2. Initialize the D-Bus connection. Must be called before you send any notifications, or retrieve server info or capabilities.
for newsitem in f['items']: n = notify2.Notification(newsitem['title'], newsitem['summary'], icon=ICON_PATH )
Looping from the parsed data to get the relevant information like news title, short summary and setting the notification icon using the Notification method of the notify2 lib.
Set the urgency level to one of URGENCY_LOW, URGENCY_NORMAL or URGENCY_CRITICAL
This method will show the notification on the Desktop
Setting the time to keep the notification on the desktop (in milliseconds). I have set here as 15 seconds.
This will usually display the news notification every 20 mins. You can set the time as per your requirement. You can find the full source code that is hosted on GitHub
This article is contributed by Srce Cde. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
- Desktop Notifier in Python
- Python Desktop Notifier using Plyer module
- Build an Application to extract news from Google News Feed Using Python
- Fetching top news using News API
- Create Battery Notifier for Laptop using Python
- Python - Convert simple lines to bulleted lines using the Pyperclip module
- Python | Django News App
- Read latest news using newsapi | Python
- Newspaper scraping using Python and News API
- Scrape most reviewed news and tweet using Python
- Implementing News Parser using Template Method Design Pattern in Python
- EdgeRank Algorithm - Algo behind Facebook News Feed
- Facebook News Feed Algorithm
- Get Live Weather Desktop Notifications Using Python
- Top 20 Adobe Creative Cloud Desktop Apps
- Python - Reading last N lines of a file
- Python Tkinter | Create different type of lines using Canvas class
- Python | Farthest point on horizontal lines in 2D plane
- Python - Find the maximum number of triangles with given points on three lines
- Count number of lines in a text file in Python
Improved By : Mayurkadam