Seite 1 von 1

request daten weiterverarbeiten

Verfasst: Sonntag 2. September 2012, 15:30
von erdmulch
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

Re: request daten weiterverarbeiten

Verfasst: Sonntag 2. September 2012, 15:47
von /me
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.

Re: request daten weiterverarbeiten

Verfasst: Dienstag 4. September 2012, 08:26
von Leonidas
/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.