request daten weiterverarbeiten

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
erdmulch
User
Beiträge: 230
Registriert: Samstag 17. Juli 2010, 19:50

hallo zusammen,

ich würde gerne daten von einer Webseite mit Python weiterverarbeiten.
Nun habe ich ein wenig im Internet gesucht und ein gutes Beispiel gefunden:
http://de.wikibooks.org/wiki/Python_unt ... :_Netzwerk

Code: Alles auswählen

#!/usr/bin/python
import urllib2, re
 
url = urllib2.urlopen('http://www.kernel.org')
html = url.read()
url.close()
 
table = re.search("""<table class="kver">.*?<td>(?P<kertext>.*?)&.*?</td>.*?<td><b><a href=".*?">(?P<kerver>.*?)</a></b></td>""", html, re.S)
print table.group('kertext'), table.group('kerver')
leider erscheint bei mir nicht die Ausgabe wie in dem Beispiel
mein script bleibt mit folgenden fehlern hängen:
  • Traceback (most recent call last):
    File "./daten.py", line 9, in <module>
    print table.group('kertext'), table.group('kerver')
    AttributeError: 'NoneType' object has no attribute 'group'
Leider kenn ich mich zuwenig in html aus sodass ich den nicht Fehler nachvollziehen kann.
Kann mir jemand sagen warum dieses Beipsiel nicht geht?

Danke im voraus
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

erdmulch hat geschrieben:Leider kenn ich mich zuwenig in html aus sodass ich den nicht Fehler nachvollziehen kann.
Kann mir jemand sagen warum dieses Beipsiel nicht geht?
Ich habe keine Lust mich durch den Regex-Verhau zu wühlen. Ich mag reguläre Ausdrücke - allerdings nur dort wo sie angebracht sind. HTML parst man einfach nicht mir regulären Ausdrücken sondern mit einer darauf spezialisierten Library.

Siehe dazu auch http://stackoverflow.com/questions/1732 ... ained-tags.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

/me hat geschrieben:Ich habe keine Lust mich durch den Regex-Verhau zu wühlen. Ich mag reguläre Ausdrücke - allerdings nur dort wo sie angebracht sind. HTML parst man einfach nicht mir regulären Ausdrücken sondern mit einer darauf spezialisierten Library.
...wie lxml.html oder html5lib.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten