Как создать простую программу чтения RSS в Python 3.7? - PullRequest
0 голосов
/ 01 мая 2019

Я построил простую программу чтения RSS на Python, и она не работает.Кроме того, я хочу получить ссылку на источник рекомендуемого изображения в каждом сообщении, и я не нашел способа сделать это.

, там отображается сообщение об ошибке: обратная связь (последний вызов был последним):Файл "RSS_reader.py", строка 7, в feed_title = feed ['feed'] ['title']

Если есть другие RSS-каналы, которые работают нормально.Поэтому я не понимаю, почему некоторые RSS-каналы работают, а другие не

. Поэтому я хотел бы понять, почему код не работает, а также как получить ссылку на источник рекомендуемого изображения.из поста я прикрепил код, написано на Python 3.7

import feedparser
import webbrowser

feed = feedparser.parse("https://finance.yahoo.com/rss/")

feed_title = feed['feed']['title']
feed_entries = feed.entries

for entry in feed.entries:

    article_title = entry.title
    article_link = entry.link
    article_published_at = entry.published # Unicode string
    article_published_at_parsed = entry.published_parsed # Time object
    article_author = entry.author
    content = entry.summary
    article_tags = entry.tags


    print ("{}[{}]".format(article_title, article_link))
    print ("Published at {}".format(article_published_at))
    print ("Published by {}".format(article_author))
    print("Content {}".format(content))
    print("catagory{}".format(article_tags))

1 Ответ

0 голосов
/ 03 мая 2019

Несколько вещей.

1) Первый feed['feed']['title'] не существует.
2) По крайней мере для этого сайта entry.author, entry.tags не существует
3) Кажется, feedparser не совместим с python3.7 (он дает мне KeyError, "object doesn't have key 'category')

Итак, в качестве отправной точки попробуйте запустить следующий код в Python 3.6 и перейти оттуда.

import feedparser
import webbrowser

feed = feedparser.parse("https://finance.yahoo.com/rss/")

# feed_title = feed['feed']['title']  # NOT VALID
feed_entries = feed.entries

for entry in feed.entries:

    article_title = entry.title
    article_link = entry.link
    article_published_at = entry.published # Unicode string
    article_published_at_parsed = entry.published_parsed # Time object
    # article_author = entry.author  DOES NOT EXIST
    content = entry.summary
    # article_tags = entry.tags  DOES NOT EXIST


    print ("{}[{}]".format(article_title, article_link))
    print ("Published at {}".format(article_published_at))
    # print ("Published by {}".format(article_author)) 
    print("Content {}".format(content))
    # print("catagory{}".format(article_tags))

Удачи.

...