2011-10-30 6 views
2

J'essaie d'utiliser feedparser pour récupérer des informations spécifiques à partir de flux, mais aussi récupérer le XML brut de chaque entrée (c'est-à-dire des éléments pour RSS et pour Atom), et je ne peux pas voir comment le faire. Évidemment, je pourrais analyser le XML à la main, mais ce n'est pas très élégant, cela nécessiterait un support séparé pour RSS et Atom, et j'imagine qu'il pourrait ne pas être synchronisé avec feedparser pour les flux mal formés. Y a-t-il un meilleur moyen?Récupération de code XML brut pour les articles avec feedparser

Merci!

Répondre

2

Je suis le développeur actuel de feedparser. Actuellement, l'une des façons dont vous pouvez obtenir cette information est de monkeypatch feedparser._FeedParserMixin (ou modifier une copie locale de feedparser.py). Les méthodes que vous souhaitez modifier sont:

  • feedparser._FeedParserMixin.unknown_starttag
  • feedparser._FeedParserMixin.unknown_endtag

Au sommet de chaque méthode, vous pouvez insérer un rappel à une routine de votre propre qui permettra de saisir les éléments et leurs attributs tels qu'ils sont rencontrés par feedparser.

+1

Merci beaucoup! C'est quelque chose d'utile, mais ce que je voulais faire était de récupérer le XML complet (y compris les éléments connus) pour chaque élément afin de les stocker et de les servir dans un flux agrégé (par exemple). [En fait, je me rends compte que ce ne serait pas très pratique car les articles pourraient être dans différents formats (RSS, Atom, etc.). Peut-être que ce serait un ajout utile à feedparser pour avoir un moyen de générer du XML pour les éléments dans les différents formats que feedparser peut analyser ...] – a3nm