article_list
перезаписывается в вашем первом цикле for
. Каждый раз, когда вы перебираете новый источник, вы article_list
задаете новый пустой список, фактически теряя всю информацию из предыдущего источника. Вот почему в конце у вас есть только информация из одного источника, последнего
. Вы должны инициализировать article_list
в начале и не перезаписывать его.
import feedparser as fp
import newspaper
from newspaper import Article
website = {"cnn": {"link": "edition.cnn.com", "rss": "rss.cnn.com/rss/cnn_topstories.rss"}, "cnbc":{"link": "cnbc.com", "rss": "cnbc.com/id/10000664/device/rss/rss.html"}} A
article_list = [] # INIT ONCE
for source, value in website.items():
if 'rss' in value:
d = fp.parse(value['rss'])
#if there is an RSS value for a company, it will be extracted into d
# article_list = [] THIS IS WHERE IT WAS BEING OVERWRITTEN
for entry in d.entries:
if hasattr(entry, 'published'):
article = {}
article['link'] = entry.link
article_list.append(article['link'])
print(article['link'])