Seite 1 von 1
Parsen
Verfasst: Mittwoch 21. Mai 2014, 12:15
von Eisi
Hallo zusammen,
Auf der Suche nach einem Tutorial bei dem es ums Parsen geht bin ich leider nicht fündig geworden. Speziell geht es bei mir um txt Daten. Kennt jemand ne gute Seite oder ein gutes Buch? Vorzugsweise deutsch zur Not aber auch englisch.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 12:24
von BlackJack
@Eisi: Für ein Tutorial ist das vielleicht ein wenig umfangreich, denn es gibt ja zig Methoden Parser zu schreiben. Ich persönlich verwende gerne die PyParsing-Bibliothek wenn reguläre Ausdrücke anfangen zu kompliziert zu werden oder schlicht nicht mehr ausreichen. Es gibt aber auch andere Parser-Bibliotheken.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 14:34
von lackschuh
Kleine Zwischenfrage:
Wie könnte man 'parsen' in ein bis zwei Sätzen erklären?
Kann ich sagen, parsen ist so was wie neu strukturieren, oder liege ich da falsch?
mfg
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 15:14
von BlackJack
@lackschuh: Wikipedia sagt dazu „Ein Parser [ˈpɑːʁzɐ] (engl. to parse, „analysieren“, bzw. lateinisch pars, „Teil“; im Deutschen gelegentlich auch Zerteiler) ist ein Computerprogramm, das in der Informatik für die Zerlegung und Umwandlung einer beliebigen Eingabe in ein für die Weiterverarbeitung brauchbares Format zuständig ist.”
Also vielleicht nicht „neu strukturieren”, sondern überhaupt erst mal in eine Datenstruktur überführen. Denn die Eingabe ist ja üblicherweise einfach Text.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 15:32
von lackschuh
@BlackJack
Hallo
Das Wiki Zitat verwirrt mich mehr als es hilft. Hab mal im Duden nachgeschaut und da steht zu Parser:
Substantiv, maskulin - Programm, das eine syntaktische Analyse durchführt
Also das mit 'neu strukturieren' ist auch Blödsinn.
Wie würdest du einem Unwissendem das Wort erklären? Folgendes verwirrt mich eben: "[...]erst mal in eine Datenstruktur überführen"
zB ein HTML Parser wie BeautifulSoup/HTMLParser: Wenn schon der Text in HTML formatiert vorliegt, ich mir alle Links oder so ausgeben lasse, dann habe ich ja eigentlich keine 'neue' Datenstruktur aufgebaut, oder?
Sry, eventuell ist das eher off topic...
mfg
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 15:52
von EyDu
lackschuh hat geschrieben:zB ein HTML Parser wie BeautifulSoup: Wenn schon Text in HTML formatiert vorliegt, ich mir alle Links oder so ausgeben lasse, dann habe ich ja eigentlich keine 'neue' Datenstruktur aufgebaut, oder?
Doch, genau das macht man. Am Anfang hast du nur Text, also eine einfache lineare Folge von Buchstaben (bzw. Bytes, aber den Schritt kann man sich sparen). Dieser Text wird dann überlichweise in einen Baum überführt. Die Knoten repräsentieren dann die HTML-Elemente mit all ihren Attributen, die Kanten beschreiben Eltern-Kind-Beziehungen. Die Operationen auf einem Baum sind ganz andere als auf einfachem Text und damit auch eindeutig andere Datenstrukturen.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 16:29
von cofi
Auch wenn die Struktur des Baumes schon im HTML/XML/SGML/... Format steckt, ist sie fuer Programme nicht direkt nutzbar: Das ist einfach nur Text. Erst der Parser der das Wissen um die Grammatik des Textes und seine Struktur hat kann dann die _Daten_struktur des Baumes fuer Programme aufbauen.
Der konkrete Fall ist aber doch recht speziell, weil die Struktur fuer Menschen recht einfach erkennbar ist.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 17:03
von Sirius3
cofi hat geschrieben:Der konkrete Fall ist aber doch recht speziell, weil die Struktur fuer Menschen recht einfach erkennbar ist.
Der konkrete Fall ist doch eher der Normalfall. Warum sollte ich ein Datenformat nehmen, das man erst Parsen muß, also für den Computer ein Nachteil ist, wenn es nicht für den Menschen von Vorteil ist, weil er die Struktur schnell erkennt.
Alternativ könnte man alles als Binärdaten speichern, die der Computer nicht Parsen muß, dafür braucht der Mensch etwas mehr Gehirnkapazität, um es verstehen zu können.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 18:16
von cofi
Was ich damit meinte, ist dass hier die Rohdaten schon sehr strukturiert sind und das auch explizit erkennbar ist. So dass man eben den Eindruck bekommt, dass doch schon alles was man braucht in der Datei steht und kein besonderes Wissen durch den Parser dazukommen muss.
Fuer das Parsen an sich ist das natuerlich kein Spezialfall. Aber dein Einwand passt dann doch nur fuer Datenformate und das ist ein Subset von Parseranwendungen. Die Freiheit etwas computerfreundliches zu waehlen hat man bei natuerlichen Sprachen und auch Programmiersprachen beispielsweise nicht.
Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 18:49
von BlackJack
@cofi: Bei Programmiersprachen schon. Die will dann nur keiner (mehr) benutzen.

Re: Parsen
Verfasst: Mittwoch 21. Mai 2014, 18:53
von cofi
Pah, XSLT erfreut sich doch grosser Beliebtheit
Ach ne, nicht Beliebtheit ... Nutzung. Naja wer weiss ob das freiwillig ist

Re: Parsen
Verfasst: Donnerstag 22. Mai 2014, 20:12
von Leonidas
lackschuh hat geschrieben:Das Wiki Zitat verwirrt mich mehr als es hilft. Hab mal im Duden nachgeschaut und da steht zu Parser:
Substantiv, maskulin - Programm, das eine syntaktische Analyse durchführt
Das finde ich etwas kurz gegriffen bzw. an der üblichen Nutzung des Wortes vorbei. So gesehen wäre ein Parser ein Programm welches einem sagt ob z.B. die Klammern balanciert sind. Klar, das macht ein Parser *auch*, aber das ist in der Regel eher Mittel zum Zweck, nämlich der Umwandlung der linearen Textdarstellung in eine Struktur die unter einer gegebenen Grammatik nützlicher für die Verarbeitung ist. Insofert finde ich kann man durchaus von "neu strukturieren" sprechen, der Duden ist nun auch eher kein typisches Informatik-Nachschlagewerk.