[Python-de] HTML parsen, ü nach ü

"Martin v. Löwis" martin at v.loewis.de
Son Dez 12 18:42:41 CET 2004


genrich wrote:
> Uhi! Also in deinem Beispiel mag es vielleicht noch klappen... Aber wenn 
> nur innerhalb des zu suchenden Tags (in dem Falle <h3></h3>) noch ein 
> anderes Tag ist, sieht es nicht so gut aus!

Ist es aber nicht: das HTML auf heise.de wird automatisch generiert
(nehme ich an), und der Automat generiert immer wieder dieselbe
Struktur. Falls der Generator die Ausgabestruktur mal ändern würde,
muss ich mein Skript anpassen - das muss ich aber in jedem Fall, wenn
die andere Seite plötzlich die Struktur der HTML-Dokumente ändert.

Das heißt, ich gewinne mit der "richtigen" Lösung keine zusätzliche
Stabilität.

> Nun könnte man auf die Idee kommen nach "</*>" zu suchen... Aber so 
> einfach ist es auch nicht, wenn eine Verschachtelung vorliegt. Zugegeben 
> bei Überschrift Tags kommt es nicht vor... Aber Bsp die Suche nach 
> Tabellen:
> <table>[...]<table>[...]</table>[...]</table>

Ich würde genauso vorgehen: Mir anschaun, wie das generierte HTML
aussieht, und dann nach den interessanten Teilen suchen. Vermutlich
ist der Inhalt der Information, die ich rausziehen will, selbst
keine Tabelle (ich will ja irgendwelchen Text und kein Markup).
Also such ich einfach nach der Zelle (td), in der die gesuchte
Information letztlich enthalten ist. Das in dieser Zelle spontan
weitere Tabellen auftauchen, ist unwahrscheinlich, da wiederum
dazu der Generator geändert werden muss - wenn ich das abfangen
will, muss ich testen, ob in meinem Ergebnisstring ein öffnendes
Tag vorkommt.

Ciao,
Martin