Я пытаюсь вытащить очень специфические элементы из словаря данных RSS, который был извлечен с использованием библиотеки feedparser
, затем поместите эти данные в новый словарь, чтобы он мог вызывать позже, используя Flask
. Причина, по которой я это делаю, заключается в том, что исходный словарь содержит множество метаданных, которые мне не нужны.FOR цикл должен давать несколько результатов, но дает только один
Я разбил процесс на простые шаги, но продолжаю зависеть от создания нового словаря! Как это ниже, это делает, создавая объект словаря, но он не является исчерпывающим: он содержит только статьи, URL и описание - остальное отсутствует.
Я попытался переключиться на другие каналы RSS и получил тот же результат, поэтому проблема будет либо в том, как я пытаюсь это сделать, либо что-то не так со структурой списка, сгенерированного feedparser
,
Вот мой код:
from html.parser import HTMLParser
import feedparser
def get_feed():
url = "http://thefreethoughtproject.com/feed/"
front_page = feedparser.parse(url)
return front_page
feed = get_feed()
# make a dictionary to update with the vital information
posts = {}
for i in range(0, len(feed['entries'])):
posts.update({
'title': feed['entries'][i].title,
'description': feed['entries'][i].summary,
'url': feed['entries'][i].link,
})
print(posts)
В конце концов, я хотел бы иметь словарь, как в следующем, за исключением того, что она продолжает идти с большим количеством статей:
[{'Title': 'Trump Does Another Ridiculous Thing',
'Description': 'Witnesses looked on in awe as the Donald did this thing',
'Link': 'SomeNewsWebsite.com/Story12345'},
{...},
{...}]
Что-то подсказывает мне, что это простая ошибка - возможно, синтаксис выключен, или я забываю небольшую, но важную деталь.