Italia
Eingangshalle

HTML; Livetiming-Webseite auslesen

 

Christof
Neuß
Ciao,

per eine eigene Darstellung (private File) möchte ich die Webseite [...] 
auslesen.
Mir geht es um die dargestellte (und regelmäßig aktualisierte) Tabelle mit den darin enthaltenen Werten.
Wenn ich mir den Quelltext anschauen, sind diese Werte aber gar nicht darin enthalten. Bin nicht so firm in dem Kram, denke aber mal, dass das etwas mit den Scripten zu tun hat, die dort ziemlich am Ende aufgeführt werden.

Hat jemand eine Idee, wie das trotzdem klappen potuto?

Im Zweifel würde sogar folgendes gehen:
TAB im Browser aktivieren, circa STRG+A alles auswählen, mit STRG+C in die Zwischenablage kopieren, geöffnete Kalkulationstabelle aktivieren und mit STRG+V die Inhalte einfügen. Nur sollte das Ganze dann eben alle 30 Sekunden automatisch ablaufen. Nicht elegant - ich weiß - und auch nicht so ganz einfach, aber... in der Not frisst der Teufel Fliegen.

Wie auch immer... vielen Dank im Voraus und viele Grüße

Christof
 
XProfan X4
Win10 16 GB RAM
04.06.2019  
 




Thomas
Freier
Moin Christof,
hatte da etwas mit 'Pascals' ocx gemacht.
Der html-Quelltext wird in ein Edit geladen und dann zeilenweise nach den Begriffen und den Werten gesucht. Vielleicht ein Ansatz.
window 540,760
WindowTitle "Hvide Sande Sluse"
usermessages 16
@Set("ErrorLevel", 2)
 $H Windows.ph
 $H ocx3a.ph
 $I ocx3a.inc
Declare x%
x% = @MessageBox("Soll dieses Programm\n\nauf Ihrem Gerät gestartet werden?\n\nDie Ausführung erfolgt\nunter Ausschluß jeglicher Ansprüche!","Hvide-Sande",4096+4+32+256)
Case x%=7 : END//Abbrechen
var font&=CreateFont("Arial",18,0,0,0,0)
SetDialogFont Font&
declare File$,Edit&,WebControl&,WebObject&,Document&,Body&,da&,fehl%,wert&,zeit$
Declare start%,neu%,Knopf%,ende%,alt$
File$="https://hyde.dk"
//per den Quelltext
Edit&=create("Multiedit",%hwnd,"",610,10,800,660)
SetFont Edit&,Font&
//Datendatei vorhanden, sonst neu

Ifnot @FileExists(($ProgDir+"HVIDE.dbf"))

    Assign #1, "hvide.STR"
    Rewrite #1
    Print #1, "Datum; C; 10; 0"
    Print #1, "Zeit; C; 10; 0"
    Print #1, "Strom; C; 10; 0"
    Print #1, "Havn; C; 10; 0"
    Print #1, "Fjord; C; 10; 0"
    Close #1
    db("Create", "hvide.STR", "hvide.DBF")

endif

//Listbox per die Datenanzeige
wert& = @Create("GridBox",  %hwnd,"Datum;0;100;Zeit;0;70;Strømning;1;110;Havn;1;80;Sluse;1;80", 2, 10,10,500,660)
//alte Werte einlesen
@db("Open", #1, "Hvide.DBF")

WhileNot %dbEoF=1

    zeit$=@Trim$(@DB("Get", "DATUM"))
    zeit$=zeit$+"|"+@Trim$(@DB("Get", "ZEIT"))
    zeit$=zeit$+"|"+@Trim$(@DB("Get", "STROM"))
    zeit$=zeit$+"|"+@Trim$(@DB("Get", "HAVN"))
    zeit$=zeit$+"|"+@Trim$(@DB("Get", "FJORD"))
    @Insertstring(wert&,0,zeit$)
    @db("Go", "NEXT")

ENDWHILE

@db("Close", #1)
//letzter Strom
alt$= @Trim$(@gettext$(wert&,0,4))//Vergleich per lukket- åben Abfrage
start%=1
WERTE//zur Prozedur Webseite laden und Werte in die erste Zeile schreiben
start%=0
neu%=0

while 1

    Waitinput 10000// nach Millisecunden wird Waitinput durchbrochen
    case %umessage=16:break
    zeit$=@dt("getTime", 0)

    SELECT val(@SUBSTR$(zeit$,2,":"))

        CASEOF 0,10,20,30,40,50

        //alle 10 Minuten Web neu laden
        Case neu%=0
        WERTE// neue auslesen ---
        neu%=1
        OTHERWISE
        neu%=0

    ENDSELECT

    Case ende%=1:BREAK

endwhile

DeleteObject font&
End
//Prozedur Werte auslesen #####################################################

Proc WERTE

    ocxInit()
    WebControl&=create("HTMLWin",%hwnd,file$,1,330,10,0,0)
    WebObject&=HTMLWin("QueryInterface",WebControl&)

    while ocxGet(WebObject&,"Busy")//'--warten, bis File geladen ist

        sleep 5

    endwhile

    Document&=ocxGet(WebObject&,"Document")
    Body&=ocxGet(Document&,"Body")
    settext Edit&,ocxGet(Body&,"outerHTML")//'--HTML-Quelltext
    //FEHLER?-------z.Z. nicht aktiv
    ' whileloop @GetCount(edit&)-1
    '  if @InStr("Die Navigation zu der Webseite wurde abgebrochen",@GetString$(edit&,&loop))> 0
    '    Knopf% = @MessageBox("Programm wird beendet","Kein WEB-Zugriff",0)
    '    Ende% = 1
    '    ocxRelease(Body&,Document&,WebObject&)
    '    WebObject&=HTMLWin("QueryInterface",WebControl&)
    '   RETURN
    ' endif
    ' endwhile
    var Startpos%=0
    Var tex$=""
    Var Strom$=""
    Var Sluse$=""
    Var Havn$=""
    Var tex1$=Date$(0)+"|"+@dt("getTime", 0)'+"|"
    //' Quelltext durchsuchen

    whileloop @GetCount(edit&)-1

        if @InStr("Gennemstrømning",@GetString$(edit&,&loop))> 0

            tex$= @GetString$(edit&,&loop)
            tex$=@Translate$(tex$,"<","")
            tex$=@Translate$(tex$,">","")
            tex$=@Translate$(tex$,"H2","")
            tex$=@Translate$(tex$,"SPAN","")
            tex$=@Translate$(tex$,"mSUP3/SUP/s//","m³")
            tex$=@Translate$(tex$,"class=floatright","")
            tex$=@Translate$(tex$,"Gennemstrømning","")
            Strom$=tex$

        endif

    EndWhile

    Tex$=""
    //' Quelltext durchsuchen

    whileloop @GetCount(edit&)-1

        if @InStr("Havnen",@GetString$(edit&,&loop))> 0

            tex$= @GetString$(edit&,&loop+1)
            tex$=@Translate$(tex$,"<TD class=alignright>","")
            tex$=@Translate$(tex$,"</TD>","")
            tex$=@Translate$(tex$,"</TR>","")
            Havn$=tex$

        endif

    endwhile

    Tex$=""
    //' Quelltext durchsuchen

    whileloop @GetCount(edit&)-1

        if @InStr("<TD>Slusedrift</TD>",@GetString$(edit&,&loop))> 0

            tex$= @GetString$(edit&,&loop+1)
            tex$=@Translate$(tex$,"<TD class=alignright>","")
            tex$=@Translate$(tex$,"</TD></TR></TBODY></TABLE>","")
            Sluse$=tex$

        endif

    EndWhile

    If start%=1

        @Insertstring(wert&,0,tex1$+"|"+strom$+"|"+havn$+"|"+sluse$)

    Else

        If @Trim$(sluse$)<>""

            If alt$<>@Trim$(sluse$)// val(strom$)<>0'

                @db("Open", #1, $ProgDir+"Hvide.DBF")
                @db("AppendBlank")
                @db("Put", "DATUM", Date$(0))
                @db("Put", "ZEIT", @dt("getTime",0))
                @db("Put", "STROM", Strom$)
                @db("Put", "HAVN", Havn$)
                @db("Put", "FJORD", sluse$)
                @db("PutRec", 0)
                @db("Close", #1)
                @Insertstring(wert&,0,tex1$+"|"+strom$+"|"+havn$+"|"+sluse$)
                alt$= @Trim$(sluse$)

            else

                '			  If val(gettext$(wert&,0,2))=0
                settext wert&,0,0, Date$(0)
                settext wert&,0,1, @dt("getTime",0)
                settext wert&,0,2, strom$
                settext wert&,0,3, havn$
                settext wert&,0,4, sluse$
                '					Else
                '					@Insertstring(wert&,0,tex1$+"|"+strom$+"|"+havn$+"|"+sluse$)
                '				endif

            EndIf

        endif

    endif

    destroywindow(WebControl&)
    ocxRelease(Body&,Document&,WebObject&)
    ocxDeInit()

endproc


10 kB
Hochgeladen:04.06.2019
Downloadcounter117
Download
5 kB
Hochgeladen:04.06.2019
Downloadcounter138
Download
 
Gruß Thomas
Windows XP SP2, XProfan X2
04.06.2019  
 




Christof
Neuß
Hab's am Wochenende nochmal versucht. Hat leider nicht funktioniert.
"Problem" ist, dass die Webseite auch nur am Rennwochende zur Verfügung steht. Wie gesagt, wenn ich mir den Quelltext der Seite anschaue, sind die gewünschten Daten der Tabelle da gar nicht enthalten. Deshalb nützt auch die Funktion sich den Quelltext in una variabile zu kopieren und dann zu durchsuchen leider nicht.

Wenn noch jemand eine Idee hat... her damit.

Grüßle
 
XProfan X4
Win10 16 GB RAM
18.04.2021  
 




Christof
Neuß
Ciao,
die Seite ist wieder online und sendet Daten. Ich versuche mich nochmal mit einigen Ansätzen. Den Vorschlag vom Thomas habe ich mal aufgenommen, scheint aber (so) nicht zu funktionieren.  [...] 

URL ist ein wenig anders, als oben angegeben, aber es ist dieselbe Art. Durch die Parameter werden unterschiedliche Rennen angewählt.

Wer kann und möchte, darf gerne mitdenken. Freue mich auf Eure Hinweise.

Saluto
Christof
 
Win10 16 GB RAM
01.05.2021  
 




Christof
Neuß
Heute und morgen ist die Seite unter [...] 
erreichbar. Wer also nochmal schauen möchte...
 
XProfan X4
Win10 16 GB RAM
08.05.2021  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.218 Views

Untitledvor 0 min.
ScanMaster03.07.2024
mene29.05.2024
Erasmus.Herold12.10.2023
Rolf Koch04.06.2022
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

Christof Neuß (4x)
Thomas Freier (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Eingangshalle  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie