Seiten auslesen und als Label wiedergeben

  • Hallo leute ;)

    Ich hab ein frage (was auch sonst^^)

    1.Ich will das man z.B. von http://www.web.de/ bestimmte sachen ausliest beispiel: Die News ...er liest sie aus...

    2.Das man das Ausgelesen in ein Label im Programm reinbaut und mit einem Button "REFRSH" , dass er es wieder aktualisiert. Und sieht , was grad auf der Seite für news sind.

    3.Ich hab schon so was gemacht

    [autoit]

    #include <IE.au3>
    $oIE = _IECreate ("www.googel.de")
    $sText = _IEBodyReadText ($oIE)
    MsgBox(0, "Body Text", $sText)

    [/autoit]

    Da Liest er alles aus ^^ und macht es in eine MSG box :(

    Helft mir bitte ;)

    Mfg <---

  • Moin,

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; klappt komischerweise mit 'googEL.de' :D
    $oIE = _IECreate ("www.googel.de")

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate("TEST", 500, 400)

    [/autoit] [autoit][/autoit] [autoit]

    $label = GUICtrlCreateLabel("", 10, 20, 480, 300)
    $button = GUICtrlCreateButton('Aktualisieren', 200, 340, 100, 25)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    $msg = GUIGetMsg()

    Switch $msg

    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    Refresh($oIE)
    EndSwitch

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Refresh($obj)

    [/autoit] [autoit][/autoit] [autoit]

    $sText = _IEBodyReadText ($obj)
    GUICtrlSetData($label, $sText)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]

    ... oder

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ; klappt komischerweise mit 'googEL.de' :D
    $oIE = _IECreate ("www.googel.de")

    [/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate("TEST", 500, 400)

    [/autoit] [autoit][/autoit] [autoit]

    $edit = GUICtrlCreateEdit("", 10, 20, 480, 300)
    $button = GUICtrlCreateButton('Aktualisieren', 200, 340, 100, 25)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    $msg = GUIGetMsg()

    Switch $msg

    Case $GUI_EVENT_CLOSE
    Exit
    Case $button
    Refresh($oIE)
    EndSwitch

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Refresh($obj)

    [/autoit] [autoit][/autoit] [autoit]

    $sText = _IEBodyReadText ($obj)
    GUICtrlSetData($edit, '')
    GUICtrlSetData($edit, $sText)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    Gruß
    Greenhorn


  • hey,

    er soll ja nur bestimmte sachen aus den texten raus nehmen,und nicht den ganzen text

  • wenn du das von Webseiten auslesen willst würde ich dir die _StringBetween funktion empfehlen ;)
    Als label das anzeigen lassen macht man wie oben schon beschrieben mit GUICtrlSetData

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • hey, also seite -> http://www.rev6.com/stats/alps/unique.asp <-

    Davon :


    Zitat


    Monster Data received Player//Spawn Estimated Time required to spawn
    Based on last spawn time Uruchi 667 min ago (*Spawned) 251 min Based on last spawn time TigerGirl 67 min ago 512 251 min


    *Das rot geschrieben ändert sich immer


    weil sich das immer ändert möchte ich das gerne in einem programm haben wo auch die karten da drin sind ;)

    Das mit den Karten hab ich ja schon fertig =)Nur weil ich nicht weis wie ich das dan ravon raussuchen kann,und als Laben einbauen ^^

    Jetzt habt ihr mehr informationen ;)

    MfG <--

  • Das auslesen wie oben schon beschrieben sodass du diese Zeile von der Seite als String bekommst und dann:

    [autoit]

    #include <GUIConstants.au3>
    #include <String.au3>

    [/autoit][autoit][/autoit][autoit]

    $string = "Monster Data received Player//Spawn Estimated Time required to spawn Based on last spawn time Uruchi 667 min ago (*Spawned) 251 min Based on last spawn time TigerGirl 67 min ago 512 251 min "
    $ergebnis1 = _StringBetween($string, "Uruchi", "min")
    $ergebnis2 = _StringBetween($string, "ago", "min")
    $ergebnis3 = _StringBetween($string, "TigerGirl", "min")
    MsgBox(0, "lol", $ergebnis1[0]&", "&$ergebnis2[0]&", "&$ergebnis3[0]&", "&$ergebnis2[1])

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode", 1) ;Muss 1 sein da sonst der GUIOnEventMode nicht funktioniert
    GUICreate("On Event Mode", 200, 150)
    $button = GUICtrlCreateButton("Refresh", 75, 10, 50, 20)
    $label1 = GUICtrlCreateLabel("$ergebnis1[0]", 5, 30, 100)
    $label2 = GUICtrlCreateLabel("$ergebnis2[0]", 5, 50, 100)
    $label3 = GUICtrlCreateLabel("$ergebnis3[0]", 5, 70, 100)
    $label4 = GUICtrlCreateLabel("$ergebnis2[1]", 5, 90, 100)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit") ;Achtung: GUISetState bei den Constants
    GUICTRLSetOnEvent($button, "_refresh") ;und guiCTRLsetonevent bei Buttons und dergleichen
    GUISetState()
    While 1
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _exit()
    Exit
    EndFunc
    Func _refresh()
    GUICtrlSetData($label1, $ergebnis1[0])
    GUICtrlSetData($label2, $ergebnis2[0])
    GUICtrlSetData($label3, $ergebnis3[0])
    GUICtrlSetData($label4, $ergebnis2[1])
    EndFunc

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • hey ...einige fehler ^^ sieht aber nice aus ;)

    1.Frage/anmerkung

    [autoit]

    $string = "Monster Data received Player//Spawn Estimated Time required to spawn Based on last spawn time Uruchi 667 min ago (*Spawned) 251 min Based on last spawn time TigerGirl 67 min ago 512 251 min "

    [/autoit]

    das rot geschrieben ändert sich ja immer ^^ wenn man sich mal die seite angeguckt hätte X(

    Die Zeit und das (*Spawned) ändert sich ja immer ^^

    Und wenn ich das Raus Tuhe die Zeiten DIE SICH IMMER ÄNDERN ^^ geht des nicht ganz :D

    Und weil Rev6.com grad ein paar macken hat mit server alps -.-

    Nehmen wir von der Seite !! AKTUEL -> http://www.rev6.com/stats/uranus/unique.asp da sind keine fehler und da ändert sich immer die Zeit jede minute ^^

    Und weil ich das ja im Programm haben möchte, weis bei dir komisch ist ...und der das ja immer aktuel auslesen muss von der seite.Und warum kommt bei dir am anfang eine MsgBox ?

    Naja guckt euch mal die seite an seht das sich in 1 min. die zeiten ändern wenn man F5 Drückt.

    ACHJA:Bei dem Programm hast du ja Keine Seite reingeschrieben :D und er soll es ja von der Seite auslesen ! Deswegen frag ich euch ja , weil ich nicht weis wie das geht ?! ^^

    MfG <--

  • 1. Hab ich gesagt das das script nicht funktioniert.
    2. habe ich auch gesagt das du die schritte mit dem _IE funktionen vorher machen musst damit du diesen String erhältst
    3. soll mein Programm nur veranschaulichen wie du aus einem String zwischen wörtern etwas herausfiltern kannst und dass in die Labels per GUICtrlSetData eingetragen wird
    4. Die MsgBox ist nur zur veranschaulichung da

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

    • Offizieller Beitrag

    Den Text von der Seite zu laden wirst du doch hinkriegen ;)
    Die Änderungen kannst du auch so selektieren:

    [autoit]

    #include <array.au3>
    $str = 'Monster Data received Player//Spawn Estimated Time required to spawn' & _
    'Based on last spawn time Uruchi 667 min ago (*Spawned) 251 min Based on last spawn time TigerGirl 67 min ago 512 251 min '

    [/autoit][autoit][/autoit][autoit]

    $ret_Zahlen = StringRegExp($str, '\d+', 3)
    $ret_Klammern = StringRegExp($str, '\(.+\)', 3)
    _ArrayDisplay($ret_Zahlen)
    _ArrayDisplay($ret_Klammern)

    [/autoit]
  • [autoit]

    #include <IE.au3>
    #include <array.au3>
    $oIE = _IECreate("http://www.rev6.com/stats/uranus/unique.asp", 0, 0)
    $sText = _IEBodyReadText ($oIE)
    $split = StringSplit($sText, @CRLF)
    MsgBox(0, "Body Text", "Ist das die Zeile die du brauchst? : "&@LF&$split[19])
    _ArrayDisplay($split)

    [/autoit]

    BugFix : nun verkomplizier die sache doch nicht wieder :D btw: du musst mir mal die sache mit den ganzen Bit erklären, hab mir dein Tut schon 100 mal durchgelesen aber ich bin zu blöd dafür mir fehlt da irgendwie der einstieg... also was das überhaupt ist und so... :(

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D