J'apprends Python. Comme pratique je construis un grattoir rss avec feedparser mettant la sortie dans un cadre de données pandas et essayant de mine avec NLTK ... mais je reçois d'abord une liste d'articles de plusieurs flux RSS.Obtenir des flux à partir FeedParser et importer à Pandas DataFrame
J'ai utilisé cet article sur la façon de pass multiple feeds et l'ai combiné avec une réponse que j'avais précédemment à une autre question sur comment l'obtenir dans un Pandas dataframe.
Quel est le problème, je veux être en mesure de voir les données de tous les flux de ma base de données. Actuellement, je ne peux accéder qu'au premier élément de la liste des flux.
FeedParser semble faire son travail, mais en le mettant dans la df de Pandas il semble seulement attraper le premier RSS dans la liste.
import feedparser
import pandas as pd
rawrss = [
'http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss.xml',
'https://www.yahoo.com/news/rss/',
'http://www.huffingtonpost.co.uk/feeds/index.xml',
'http://feeds.feedburner.com/TechCrunch/',
]
feeds = []
for url in rawrss:
feeds.append(feedparser.parse(url))
for feed in feeds:
for post in feed.entries:
print(post.title, post.link, post.summary)
df = pd.DataFrame(columns=['title', 'link', 'summary'])
for i, post in enumerate(feed.entries):
df.loc[i] = post.title, post.link, post.summary
df.shape
df
Le problème est que vous ne voyez que les données du dernier flux dans le DataFrame, est-ce correct? Vous voulez les données de chaque flux dans le DataFrame? – beenjaminnn
Oui. Désolé, je vais éditer et clarifier ceci. –