Python - RSS-канал
RSS (Rich Site Summary) - это формат для доставки регулярно меняющегося веб-контента. Многие сайты, связанные с новостями, блоги и другие онлайн-издатели распространяют свой контент в виде RSS-канала всем, кто этого хочет. В python мы воспользуемся приведенным ниже пакетом для чтения и обработки этих каналов.
pip install feedparser
Структура корма
В приведенном ниже примере мы получаем структуру фида, чтобы мы могли дальше анализировать, какие части фида мы хотим обработать.
import feedparser
NewsFeed = feedparser.parse("https://timesofindia.indiatimes.com/rssfeedstopstories.cms")
entry = NewsFeed.entries[1]
print entry.keys()
Когда мы запускаем указанную выше программу, мы получаем следующий результат -
['summary_detail', 'published_parsed', 'links', 'title', 'summary', 'guidislink', 'title_detail', 'link', 'published', 'id']
Заголовок ленты и сообщения
В приведенном ниже примере мы читаем заголовок и заголовок 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
Когда мы запускаем вышеуказанную программу, мы получаем следующий результат -
Number of RSS posts : 5
Post Title : Cong-JD(S) in SC over choice of pro tem speaker
Детали фида
Основываясь на приведенной выше структуре ввода, мы можем получить необходимые детали из фида с помощью программы Python, как показано ниже. Поскольку запись является словарем, мы используем его ключи для получения необходимых значений.
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
Когда мы запускаем вышеуказанную программу, мы получаем следующий результат -
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