Tabelle von Greenpeace Energy einbauen
Tabelle von Greenpeace Energy einbauen
Hallo!
Wir sind Kunden von Greenpeace Energy. Alle 15 Minuten wird auf der Homepage des Stromanbieters die aktuelle "Zusammensetzung" des Stroms in Form einer Tabelle veröffentlicht.
Seht ihr eine Möglichkeit, diese Tabelle in Samurize einzubinden, sodass ich sie auf meinem Desktop immer aktuell anzeigen lassen kann?
Leider ist die Tabelle kein normales Bild, sonst wäre das ja nicht so schwierig.
Über Tipps würde ich mich freuen!
Danke, Julius
Wir sind Kunden von Greenpeace Energy. Alle 15 Minuten wird auf der Homepage des Stromanbieters die aktuelle "Zusammensetzung" des Stroms in Form einer Tabelle veröffentlicht.
Seht ihr eine Möglichkeit, diese Tabelle in Samurize einzubinden, sodass ich sie auf meinem Desktop immer aktuell anzeigen lassen kann?
Leider ist die Tabelle kein normales Bild, sonst wäre das ja nicht so schwierig.
Über Tipps würde ich mich freuen!
Danke, Julius
-
Tante Google
- Gumfuzi
- ★ Team Admin ★
- Beiträge: 34861
- Registriert: 10.11.2003, 00:00
- Hat sich bedankt: 28 Mal
- Danke erhalten: 70 Mal
- Gender:
mmmh, das ist schwer...
Es gibt ein Skript für Samurize, mit dem man aus beliebigen Seiten Daten raussuchen kann und anzeigen lassen kann - habe es mal versucht anzupassen, ohne es getestet zu haben:
Diesen Code in eine Textdatei kopieren (Notepad) und dann als zB. strom.vbs in C:\Programme\Samurize\Scripts speichern.
Allerdings zeigt es Dir dann alle Werte als eine Ausgabe - falls ich mich jetzt nicht beim Code verguckt habe in der Eile.
Es gibt ein Skript für Samurize, mit dem man aus beliebigen Seiten Daten raussuchen kann und anzeigen lassen kann - habe es mal versucht anzupassen, ohne es getestet zu haben:
Code: Alles auswählen
QuellURL = "http://www.greenpeace-energy.de/strom_barometer.php"
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function Strom()
dim htmlBuffer
htmlBuffer = ReturnHTML(QuellURL)
result=NULL
htmlBuffer = TrimHTMLS(htmlBuffer)
asdf = instr(htmlBuffer, "Uhr") + 3
fdsa = instr(htmlBuffer, "Informationen")
htmlBuffer = mid(htmlBuffer, asdf, fdsa - asdf)
Strom = htmlBuffer
End Function
' ---------- intern ----------------------------------------------------
Private Function ReturnHTML(sURL)
Dim objXMLHTTP,HTML
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
On Error Resume Next
objXMLHTTP.Open "GET", sURL, False
objXMLHTTP.Send
if err = 0 then
HTML = objXMLHTTP.responseBody
Set objRS = CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", 200, 35000, &H00000080
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk HTML
ReturnHTML = objRS("txt").Value
objRS.Close
Set objRS = Nothing
else
ReturnHTML = "Network error"
end if
On Error GoTo 0
Set objXMLHTTP = Nothing
End Function
Private Function TrimHTMLS(sh)
str = sh
str = TrimHTML(str)
pa = 1
do until pa > len(str)
if mid(str, pa, 1) < " " then
sa = left(str, pa-1)
sb = mid(str, pa+1)
str = sa & sb
else
if (mid(str, pa, 1) = " ") and (mid(str, pa+1, 1) = " ") then
sa = left(str, pa-1)
sb = mid(str, pa+1)
str = sa & sb
else
pa = pa + 1
end if
end if
loop
str = replace(str, "ä", "ä")
str = replace(str, "ü", "ü")
str = replace(str, "ö", "ö")
str = replace(str, "Ä", "Ä")
str = replace(str, "Ü", "Ü")
str = replace(str, "Ö", "Ö")
str = replace(str, "ß", "ß")
str = replace(str, """, """")
str = replace(str, "<", "<")
str = replace(str, ">", ">")
TrimHTMLS = str
End Function
Private Function TrimKl(sh) ' eckige Klammer entfernen
str = sh
pos_deb = InStr(1, str, "[")
Do Until pos_deb = 0
pos_fin = InStr(pos_deb, str, "]")
part_d = Mid(str, 1, pos_deb - 1)
part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
str = part_d & part_f
pos_deb = InStr(1, str, "[")
Loop
TrimKl = str
End Function
' ******************************
' Following function by Alderaic
' ******************************
Private Function TrimHTML(sh)
str = sh
pos_deb = InStr(1, str, "<")
Do Until pos_deb = 0
pos_fin = InStr(pos_deb, str, ">")
part_d = Mid(str, 1, pos_deb - 1)
part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
str = part_d & part_f
pos_deb = InStr(1, str, "<")
Loop
TrimHTML = str
End Function
Allerdings zeigt es Dir dann alle Werte als eine Ausgabe - falls ich mich jetzt nicht beim Code verguckt habe in der Eile.
[x] <=- Hier Nagel einschlagen für neues Display!
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
Vielen Dank für deine Mühe!
Ich habs mal getestet. Ergibt leider ne Fehlermeldung: "Ungültiger Prozdeuraufruf oder ungültiges Argument : 'mid' In strom.vbs (Strom) Linie 10, column 2"
Ich kenne mich leider in Script-Programmierung zu wenig aus, als dass ich den Fehler jetzt suchen könnte. Aber ich gehe mal davon aus, dass es was mit der Zeile zu tun hat.
Kann jemand das Problem lösen? Vielen Dank, Julius
Ich habs mal getestet. Ergibt leider ne Fehlermeldung: "Ungültiger Prozdeuraufruf oder ungültiges Argument : 'mid' In strom.vbs (Strom) Linie 10, column 2"
Ich kenne mich leider in Script-Programmierung zu wenig aus, als dass ich den Fehler jetzt suchen könnte. Aber ich gehe mal davon aus, dass es was mit der Zeile
Code: Alles auswählen
htmlBuffer = mid(htmlBuffer, asdf, fdsa - asdf)
Kann jemand das Problem lösen? Vielen Dank, Julius
- moinmoin
- ★ Team Admin ★
- Beiträge: 61952
- Registriert: 14.11.2003, 11:12
- Hat sich bedankt: 166 Mal
- Danke erhalten: 912 Mal
- Gender:
Eine Möglichkeit wäre sonst noch der PageScraper.
Damit kannst du den Bereich einer Seite auslesen lassen den du benötigst.
Damit kannst du den Bereich einer Seite auslesen lassen den du benötigst.
- Gumfuzi
- ★ Team Admin ★
- Beiträge: 34861
- Registriert: 10.11.2003, 00:00
- Hat sich bedankt: 28 Mal
- Danke erhalten: 70 Mal
- Gender:
probiere es mal so:
Code: Alles auswählen
QuellURL = "http://www.greenpeace-energy.de/strom_barometer.php"
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Function Strom()
dim htmlBuffer
htmlBuffer = ReturnHTML(QuellURL)
result=NULL
htmlBuffer = TrimHTMLS(htmlBuffer)
asdf = instr(htmlBuffer, "Uhr") + 3
fdsa = instr(htmlBuffer, " Informationen zu den Angaben")
htmlBuffer = mid(htmlBuffer, asdf, fdsa - asdf)
Strom = htmlBuffer
End Function
' ---------- intern ----------------------------------------------------
Private Function ReturnHTML(sURL)
Dim objXMLHTTP,HTML
Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
On Error Resume Next
objXMLHTTP.Open "GET", sURL, False
objXMLHTTP.Send
if err = 0 then
HTML = objXMLHTTP.responseBody
Set objRS = CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", 200, 35000, &H00000080
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk HTML
ReturnHTML = objRS("txt").Value
objRS.Close
Set objRS = Nothing
else
ReturnHTML = "Network error"
end if
On Error GoTo 0
Set objXMLHTTP = Nothing
End Function
Private Function TrimHTMLS(sh)
str = sh
str = TrimHTML(str)
pa = 1
do until pa > len(str)
if mid(str, pa, 1) < " " then
sa = left(str, pa-1)
sb = mid(str, pa+1)
str = sa & sb
else
if (mid(str, pa, 1) = " ") and (mid(str, pa+1, 1) = " ") then
sa = left(str, pa-1)
sb = mid(str, pa+1)
str = sa & sb
else
pa = pa + 1
end if
end if
loop
str = replace(str, "ä", "ä")
str = replace(str, "ü", "ü")
str = replace(str, "ö", "ö")
str = replace(str, "Ä", "Ä")
str = replace(str, "Ü", "Ü")
str = replace(str, "Ö", "Ö")
str = replace(str, "ß", "ß")
str = replace(str, """, """")
str = replace(str, "<", "<")
str = replace(str, ">", ">")
TrimHTMLS = str
End Function
Private Function TrimKl(sh) ' eckige Klammer entfernen
str = sh
pos_deb = InStr(1, str, "[")
Do Until pos_deb = 0
pos_fin = InStr(pos_deb, str, "]")
part_d = Mid(str, 1, pos_deb - 1)
part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
str = part_d & part_f
pos_deb = InStr(1, str, "[")
Loop
TrimKl = str
End Function
' ******************************
' Following function by Alderaic
' ******************************
Private Function TrimHTML(sh)
str = sh
pos_deb = InStr(1, str, "<")
Do Until pos_deb = 0
pos_fin = InStr(pos_deb, str, ">")
part_d = Mid(str, 1, pos_deb - 1)
part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)
str = part_d & part_f
pos_deb = InStr(1, str, "<")
Loop
TrimHTML = str
End Function
[x] <=- Hier Nagel einschlagen für neues Display!
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
Du kannst niemals alle mit deinem Tun begeistern. Selbst wenn du über's Wasser laufen kannst, kommt einer daher und fragt, ob du zu blöd zum Schwimmen bist.
Vielen Dank für eure Antworten.
Der geänderte Code bringt leider immer noch die gleiche Fehlermeldung.
Jetzt hab ich mich mal an PageScraper gemacht. Ich komme damit aber nicht zurecht. So sehen meine Einstellungen aus:

Funktioniert aber nicht. Könnt ihr mir sagen, wo der Fehler liegt?
Ich habe schon versucht ein Tutorial zu PageScraper zu finden, aber das scheints nicht zu geben.
Julius
Der geänderte Code bringt leider immer noch die gleiche Fehlermeldung.
Jetzt hab ich mich mal an PageScraper gemacht. Ich komme damit aber nicht zurecht. So sehen meine Einstellungen aus:

Funktioniert aber nicht. Könnt ihr mir sagen, wo der Fehler liegt?
Ich habe schon versucht ein Tutorial zu PageScraper zu finden, aber das scheints nicht zu geben.
Julius