Ich bitte um Nachsicht, ich bin nach wie vor ein ziemlicher Anfänger in Python.
Hier mein aktuelles Problem:
Ich habe eine URL zu einem XML-Feed welcher mir Sportergebnisse zur verfügung stellt. Konkret Fußballdaten.
Ich möchte die Daten aufteilen und bestimmte Elemente davon weiterverarbeiten.
Kurz recherchiert und auf den 'Feedparser' gestossen. Installiert, ein neues Projekt geöffnet und feedparser importiert.
o.g. URL geparsed und alles sah erstmal gut aus.
Code: Alles auswählen
import feedparser
d = feedparser.parse('http://....URL....')
print d['feed']['tournament']['league']
# -> gibt mir die entsprechende Liga die im entsprechenden Node gespeichert wird
Als ich dann die weiteren Elemente ausgeben wollte, habe ich bemerkt das der feedparser mir lediglich eine Spielepaarung, und zwar die letzte aller Spielpaarungen in dieser XML bereithält.
Ein
Code: Alles auswählen
print d
Wenn ich diese URL im Browser angebe, wird mir die ganze XML angezeigt.
Wenn ich diese XML-Datei auf meine Festplatte speichere, erhält die XML-Datei natürlich auch alle Spielpaarungen. Wenn ich den feedparser dann von dieser lokalen Datei parsen lasse passiert wieder das oben beschriebene.
So, was könnte hier falsch laufen?
Legt feedparser bei gleichen Elementen kein Array/Sub-Dictionary/o.ä. an und überschreibt alle Elemente die er zuvor eingelesen hat und gleiche Nodes hat? z.B. habe ich die Nodes
<spielpaarung no="1">....</spielpaarung>
und
<spielpaarung no="2">.....</spielpaarung>
Ich brauche natürlich jedes Element dieser XML und würde gerne durch die einzelnen Spielpaarungen/Spieltage usw. iterieren/durchschleifen können. In diesem Falle habe ich lediglich die <spielpaarung no="2">....</spielpaarung> zur verfügung?!?
Der feedparser war erst einmal sehr vielversprechend weil es wirklich schnell und sehr einfach war auf die einzelnen Elemente zuzugreifen.
Ich hoffe hier Hilfe von euch zu dazu zu erhalten. Gegenüber Alternativen wäre ich jedoch auch nicht abgeneigt.
Schon einmal im Voraus vielen Dank für eure Mühe.