ich versuche gerade einen einzelnen (veränderlichen) Wert aus einer ansonsten statischen Webseite auszulesen. Hierzu möchte ich regular expressions verwenden. Im Detail geht es um die Statusseite unseres Solarinverters von der ich die aktuellen Produktionszahlen auszulesen um sie weiter zu verwenden. Mein Problem ist, dass ich verschiedene Varianten an regulären Ausdrücken bereits auf https://regex101.com/ für Python bereits getestet habe und sie funktioniert haben.
Wenn ich das script aber bei mir ausprobiere kommt es zu keinem Match. Nachdem ich erstmal überprüft habe, dass die Webseite sauber eingelesen wird und das Matching mit "einfachen" pattern auch tatsächlich funktioniert, konnte ich einen "Schuldigen" ausmachen:
In der eingelesenen Datei kommt am Ende jeder Zeile ein Linefeed vor:
Code: Alles auswählen
<td width="100">
Gesamtenergie</td>
<td width="70" align="right" bgcolor="#FFFFFF">
37818</td>
Code: Alles auswählen
import sys
import urllib
import re
Webseite = "http://XXX:XXX@1?2.1??.1??.???"
pattern = r"Ge(samt)energie</td>"
temp = urllib.urlopen(Webseite)
lines = temp.read()
result = re.search(pattern,lines)
print result.group()
print result.group(1)
vielen Dank
thomas