2017-08-09 7 views
0

J'ai mis à jour mon code de travail (déjà) de python2.7 vers python3.5 et le problème suivant apparaît soudainement.Feedparser retourne uniquement la première entrée du flux ATOM

En analysant le flux ATOM donné avec de nombreuses entrées (syntaxe correcte), feedparser 5.2.1. renvoie uniquement la première entrée du flux et bien sûr les données "méta" du flux.

Mon (non modifié) Code:

feed_data = feedparser.parse("www.myfeed.com/myfeeds.atom") 
for entry in feed_data.entries: 
    print(entry) 

sortie

{'uid':'99999','author':'XY', ...more content of the first entry...} 
{} 

La prochaine (seconde) entrée est vide ... et les autres entrées ne sont pas répertoriés même ... La longueur de feed_data.entries est (il devrait être 78).

MISE À JOUR

maintenant (aujourd'hui) je reçois 3 entrées en sortie, car une nouvelle entrée a été ajouté au début de la liste d'entrée, donc je suppose que c'est un problème « d'encodage » avec le spécifique 3ème entrée dans le flux actuel.

Des idées pour résoudre le problème?

+0

En supposant que quelque chose ne va pas avec votre alimentation atomique. Ce code fonctionnerait bien sur un flux de diff tel que: https://www.theregister.co.uk/data_centre/networks/headlines.atom – Chris

+0

Cela fonctionne bien sous python 2.7 (et peut-être une ancienne version de feedparser) avec exactement le même flux de travail (fonctionnant), mais sous python3.5 il échoue. – zypro

+0

Il peut être difficile de dépanner sans être capable de tirer la charge exacte que vous essayez de tirer. – Chris

Répondre

0

Bon les gars,

Python3.5 ne sont pas encore pris en charge. Mais le support de cette version python est préparé dans la branche develop du projet github (see here).

Cela fonctionne avec cette version de développement de feedparser, donc je vais essayer cela et pourrait attendre (rien ne se passera un an) jusqu'à la sortie officielle de cette "fonctionnalité".