[Python-de] mit RegEx text extrahieren?
Guenther Sommermann
GueSo at gmx.ch
Sam Jul 5 14:11:07 EDT 2003
Hallo,
Erstmal danke an alle, ich hätt nicht soviel an Antworten erwartet.
Nachdem ich mir jetzt mal alles angeschaut denk ich, ich werd
erstmal diese einfache RegEx-Lösung benutzen.
>> (Vorweg: Das ganze könnte man wahrscheinlich am besten mit einem
>> XML-Parser machen (hab ich mir auch shcon angeschaut), aber da ich
>> grade erst anfange Python zu lernen is mir das noch zu hoch.....)
> ok, in dem Fall denke ich, daß es echt ok ist, zu Übungszwecken mit RegEx zu
> experimentieren. Allgemein solltest du aber schon versuchen, auch die
> Standard Bibliothek kennen und benutzen zu lernen.
[...]
jo, is nur die Sache mit dem "und benutzen zu lernen.", da haperts noch
n (großes) bisschen...
und für alle die auch mal RDF's parsen wollen, hab ich auch noch was
bei google gefunden: http://rdflib.net/ (extra was für Python..)
> In dem konkreten Beispiel würde ich das einfach so lösen:
> import urllib, re
> # liste von tuple mit (titel,link) erzeugen
> hrdf = urllib.urlopen('http://www.heise.de/newsticker/heise.rdf').read()
> pattern =
> r'<title>(.+?)</title>\s*<link>(http://www.heise.de/newsticker/data/.+?)</li
nk>>'
wieso das Beispiel Funktioniert und das:
"re.compile(r'<link>(.+)(</link>)')" nicht (gibt trotzdem die Link-Tags
mit zurück), is mir allerdings nicht klar.
> links = re.findall(pattern,hrdf)
> # in liste mit links verwandeln
> links = '\n'.join(["<a href='%s'>%s</a><br>" % (link,title) for title,link
> in links])
> print "<html><body>%s</body></html>" % links
> Für meinen Geschmack ist das ein guter Kompromiss zwischen Kompaktheit und
> Lesbarkeit. Aber Geschmäcker sind ja bekannter Maßen unterschiedlich! ;-)
Jo sind sie, aber unsere geschmäcker sind wohl ziemlich ähnlich :)
> Gruß,
> Achim
Danke
Günther
-----
/"\ mailto: GueSo at gmx.ch
\ /
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \