Python - kanał RSS

RSS (Rich Site Summary) to format dostarczania regularnie zmieniających się treści internetowych. Wiele witryn związanych z wiadomościami, blogów internetowych i innych wydawców internetowych udostępnia swoje treści w postaci kanałów RSS każdemu, kto tego chce. W Pythonie korzystamy z poniższego pakietu, aby czytać i przetwarzać te kanały.

pip install feedparser

Struktura paszy

W poniższym przykładzie otrzymujemy strukturę źródła, abyśmy mogli dokładniej przeanalizować, które części kanału chcemy przetwarzać.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
entry = NewsFeed.entries[1]
print entry.keys()

Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -

['summary_detail', 'published_parsed', 'links', 'title', 'summary', 'guidislink', 'title_detail', 'link', 'published', 'id']

Tytuł kanału i posty

W poniższym przykładzie czytamy tytuł i nagłówek kanału RSS.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
print 'Number of RSS posts :', len(NewsFeed.entries)
entry = NewsFeed.entries[1]
print 'Post Title :',entry.title

Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -

Number of RSS posts : 5
Post Title : Cong-JD(S) in SC over choice of pro tem speaker

Szczegóły kanału

Na podstawie powyższej struktury wpisów możemy uzyskać niezbędne szczegóły z kanału za pomocą programu w języku Python, jak pokazano poniżej. Ponieważ hasło jest słownikiem, używamy jego kluczy do tworzenia potrzebnych wartości.

import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
entry = NewsFeed.entries[1]
print entry.published
print "******"
print entry.summary
print "------News Link--------"
print entry.link

Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -

Fri, 18 May 2018 20:13:13 GMT
******
Controversy erupted on Friday over the appointment of BJP MLA K G Bopaiah as pro tem speaker for the assembly, with Congress and JD(S) claiming the move went against convention that the post should go to the most senior member of the House. The combine approached the SC to challenge the appointment. Hearing is scheduled for 10:30 am today.
------News Link--------
https://timesofindia.indiatimes.com/india/congress-jds-in-sc-over-bjp-mla-made-pro-tem-speaker-hearing-at-1030-am/articleshow/64228740.cms