Programm mit Urllib 2 schreiben

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
da-dru
User
Beiträge: 1
Registriert: Mittwoch 27. Mai 2009, 14:33

Mittwoch 27. Mai 2009, 15:11

Hi leute,
ich beschäftige mich erst seit kurzem mit Python und soll nun ein Programm mit urllib2 schreiben. Dieses Programm soll folgende Dinge enthalten:
- eine Website laden, die auf der Kommandozeile per URL angegeben wird
- diese Seite nach Links durchsucht
- jeden einzelnen link versucht zu laden
- jeden dabei auftretenden Fehler protokolliert.

Da ich absolut kein plan hab wie und wo ich anfangen soll, wäre es nett wenn mir jemand Hilfe dazu geben könnte.


Gruß da-dRu
EyDu
User
Beiträge: 4872
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Mittwoch 27. Mai 2009, 15:19

Hallo.

Hier und da. Und sonst dort :-)

Ich hätte hier "minidom" mit der Methode "getElementsByTagName" verwendet oder alternativ "ElementTree".
Das Leben ist wie ein Tennisball.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Freitag 29. Mai 2009, 10:56

Uuh, 'nen Hardcore-XML-Parser für's Web? In your dreams ;)

Tolerante Parser wie BeautifulSoup oder das IIRC performantere Modul aus dem lxml-Paket (Name entfallen, aber irgendwas mit "HTML" ...) bieten sich da vielmehr an.

P.S.: htmllib ist deprecated.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 29. Mai 2009, 16:37

Y0Gi hat geschrieben:Tolerante Parser wie BeautifulSoup oder das IIRC performantere Modul aus dem lxml-Paket (Name entfallen, aber irgendwas mit "HTML" ...) bieten sich da vielmehr an.
lxml.html Was auch interessant ist, ist html5lib, was nur einen Parser bereitstellt und quasi beliebige Objektbäume ausgibt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Freitag 29. Mai 2009, 18:59

Danke, html5lib hatte ich als "das bessere BeautifulSoup" im Hinterkopf. Mit installiertem lxml (das C-Abhängigkeiten hat) wird es noch schneller.
Antworten