lxml

Die Python-Bibliothek "lxml" macht ein einfaches und sehr angenehmes Parsen von HTML-Seiten möglich: Ähnlich jQuery erlaubt sie den Zugriff auf Seitenelemente über CSS-Selektoren. Auf diese Weise lässt sich beispielsweise der Inhalt einer HTML-Seite gut automatisiert auslesen und verarbeiten.

Der folgende Code ließt alle von der Startseite meiner Internetseite über die Navigation erreichbaren Seiten aus. Dazu parst er zunächst die Seite (der Funktion "parse" können neben URLs z.B. auch Datei-Objekte übergeben werden), anschließend werden mit einem CSS-Selektor alle Links der Navigation herausgefiltert, von denen schließlich die Link-Ziele extrahiert werden:

from lxml.html import parse
tree = parse('http://www.joachim-neu.de/')
node_root = tree.getroot()
print [ a.get('href') for a in node_root.cssselect('td#navigation div a') ]

Tags: Webdesign | Python | Linux