Aktuelle Nachrichten als Textdatei?

...komplette Frage anzeigen

2 Antworten

Wird dann wohl auf Schlagzeilen hinauslaufen, oder?

Nimm halt den RSS-Feed. Hat praktisch jede Newsseite. Hast dann eine XML-Datei mit den Schlagzeilen, die du mit paar Zeilen Python problemlos kleinparsen kannst.

Edit: Gut, da war jemand schneller :).

ctie123 16.03.2017, 16:47

Danke

Hier ist einer von der tagesschau: http://www.tagesschau.de/newsticker.rdf

Nur wie kann man diese datei in Python einbinden. Wie geht das mit xml?

mit open oder wie?

0
tuxgamer 16.03.2017, 16:55
@ctie123

Wie fit bist du in Python?

Bitte nicht versuchen selber etwas zu substringen oder gar mit Regeluären Ausdrücken oder so.

Gibt dafür Bibliotheken (z.B. die, die bereits in Python Standardbibliothek ist):

https://docs.python.org/3/library/xml.etree.elementtree.html

Hast da auch Beispiele; schau mal ob du zurecht kommst - ansonsten melde dich einfach.

0
ctie123 16.03.2017, 17:13
@tuxgamer

Die Beispiele sind ein wenig verwirrend.

Beim Einlesen wird also ein "Datenbaum" erstellt, oder wie läuft das?

0
tuxgamer 17.03.2017, 10:18
@ctie123

Also: Solche Bibliotheken sehen eigentlich immer sehr ähnlich aus. Alles schön objektorientiert und es kommt tatsächlich eine Baum-Datenstruktur heraus (wenn dir das was sagt).

Durch "import xml.etree.ElementTree as ET" wird ElementTree in ET umbenannt. Nur dass du dich davon nicht irritieren lässt.

Dieses Modul ElementTree hat eine Methode "parse".

Du rufst als "ET.parse('DATANAME.xml')" auf. Rückgabewert ist ein ElementTree-Objekt (dir sagt Objektorientierung etwas?).

Dieses ElementTree-Objekt hat nun verschiedene Sachen, die du abfragen kannst.

z.B. den tag, die attribute (mit attrib).

Oder eben die Kindern. Das machst du mit der for in loop.

Mit "for child in root" bekommst du innerhalb der for-Schleife genannt als "child" alle Kinder - und das sind auch wieder ElementTrees, die du genauso wie die Wurzel verwenden kannst.

Versuch dich einfach mal durchzubeißen :).

Am besten interaktive Python-Shell raus und ein bisschen ausprobieren.

Solltest du dann immer noch Fragen haben: Bin hier :). Einfach kommentieren.

Gruß

Tuxgamer

0

Was möchtest Du wissen?