[Python-de] mit RegEx text extrahieren?

Guenther Sommermann GueSo at gmx.ch
Fre Jul 4 19:09:26 EDT 2003


Ok, wenn das nicht so einfach geht, poste ich mal "ganz" genaue infos:

Im Grunde will ich mir ein Skript schreiben, das Titel und URL der
aktuellen Heise-News auf eine Website (soll nur lokal laufen)
schreibt. (Im moment hol ich mir erstmal nur die URL.)

(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.....)

Dazu les ich mir das rdf-File vom Heise Newsticker ein:
hrdf = urllib.urlopen('http://www.heise.de/newsticker/heise.rdf').readlines()

RegEx erstellen:
hurl = re.compile('http://www.heise.de/newsticker/data/[a-z]+?-\d\d\.\d\d\.\d\d-\d\d\d')

Datei öffnen und schonmal n bisschen Html reinschreiben (soll ja ne
website werden)
f = open ("heise.html" ,"w")
f.write(" <html> \n <head> \n <title> <h>Aktuelle News </h></title> \n </head> \n <h1>HEISE NEWS</h1> \n \n")
htmlend = ("\n \n </body> \n </html>")

Durch die Zeilen gehen und die URL rausziehen:
for line in hrdf:
    if hurl.search(line):
        f.write("<br>")
        f.write(line)
f.write(htmlend)  
f.close

Das ganze funzt soweit auch schon, nur bekomme ich nicht nur die URL,
sondern die ganze Zeile in der die URL steht...

Die 'wichtigen' Zeilen in dem RDF-File sehen so aus:
<item>
 <title>debitel-Chef zufrieden mit bisherigem Jahresverlauf</title>
 <link>http://www.heise.de/newsticker/data/jk-04.07.03-008/</link>
</item>
deshalb hab ich auch gefragt, wie man etwas was zwischen 2 Html-Tags
steht extrahieren kann...

so, ich hoffe das reicht..

gruß Günther



-----
 /"\            mailto: GueSo at gmx.ch
 \ /
  X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
 / \