_InetGetSource() Bestimmte stelle auslesen

  • Ich hätte eine Frage...


    Geht es mit dem Befehl

    [autoit]

    _InetGetSource()

    [/autoit]

    das man an einer bestimmten Stelle des Sourcecodes etwas ausliest ?

    BSP:

    Jemand postet mir hier eine Antwort, und ich stelle mit hilfe von INetGetSource fest wer / ob es meinetwegen SEuBo, oder Blade, oder oder oder war...
    Wenn nicht, meldet er mir meinetwegen:

    MsgBox(0, "Fehlgeschlagen", "Es war weder SEuBo noch Blade!")

    Geht das?

  • Ich würde da erst mal Fragen:
    Hast du eigentlich AutoIt Kenntnisse? :huh:

    Du kannst nicht erwarten das wir den Script für dich schreiben und Pinguin hat eigentlich alles was du brauchst geliefert.

    mfg Ubuntu

    Edit: Zu langsam.
    Oder so Pingu - Diplomatenantwort :D

  • :D

    Und wenn ich den STRING nicht weiß, also, ausgeben lassen wer ALLES schon eine antwort gepostet hat, und bei jeder neuen kommt ja ein neuer string :(

  • Dann solltest du erst mal feststellen ob es einen Unterschied zum verherigen String gibt:

    [autoit]

    $string = _InetGetSource(...)
    $string2 = _InetgetSource(...)
    If not $string == $string2 Then msgbox("neuer Post")

    [/autoit]

    mfg Ubuntu

    Ps: Funtionier so natürlich nicht, nur zum Verständnis

  • Du kannst den Source immer nur aktuell ziehen, also musst du in regelmäßigen Abständen den Quellcode ziehen und an der Stelle / den Stellen immer schauen ob sich was verändert hat.
    Oder du lässt die Internetseite offen und arbeitest irgendwie mit PixelSearch...
    Aber um eine Stelle in einem Quellcode auszulesen musst du immer _StringBetween (wahlweise StringRegExp) und _InetGetSource verbinden.

  • Hallo SouthCatch,

    such einmal im Forum Skripte nach Spoilerreader von funkey. Danach analysierst du den Skriptcode und versuchst in zu verstehen, er enthält alle notwendigen AutoIt-Funktionen für dein Vorhaben,

    mfg (Auto)Bert

  • Hier ein Beispiel kombiniert mit einem Hilfe Beispiel, unten ist das Beispiel von mir, oben das Beispiel aus der Hilfe:

    Spoiler anzeigen
    [autoit]

    ; *******************************************************
    ; Example 1 - Create an empty browser, write customer HTML to it - in this case a
    ; FRAMESET - and then update the contents of each of the frames
    ; *******************************************************
    ;
    #include <IE.au3>
    #include <String.au3>
    $oIE = _IECreate ()
    $sHTML = ""
    $sHTML &= "<HTML>" & @CR
    $sHTML &= "<HEAD>" & @CR
    $sHTML &= "<TITLE>_IE_Example('frameset')</TITLE>" & @CR
    $sHTML &= "</HEAD>" & @CR
    $sHTML &= "<FRAMESET rows='25,200'>" & @CR
    $sHTML &= " <FRAME NAME=Top SRC=about:blank>" & @CR
    $sHTML &= " <FRAMESET cols='100,500'>" & @CR
    $sHTML &= " <FRAME NAME=Menu SRC=about:blank>" & @CR
    $sHTML &= " <FRAME NAME=Main SRC=about:blank>" & @CR
    $sHTML &= " </FRAMESET>" & @CR
    $sHTML &= "</FRAMESET>" & @CR
    $sHTML &= "</HTML>"
    _IEDocWriteHTML ($oIE, $sHTML)
    _IEAction ($oIE, "refresh")
    Local $oFrameTop = _IEFrameGetObjByName ($oIE, "Top")
    Local $oFrameMenu = _IEFrameGetObjByName ($oIE, "Menu")
    Local $oFrameMain = _IEFrameGetObjByName ($oIE, "Main")
    _IEBodyWriteHTML ($oFrameTop, '$oFrameTop = _IEFrameGetObjByName($oIE, "Top")')
    _IEBodyWriteHTML ($oFrameMenu, '$oFrameMenu = _IEFrameGetObjByName($oIE, "Menu")')
    _IEBodyWriteHTML ($oFrameMain, '$oFrameMain = _IEFrameGetObjByName($oIE, "Main")')

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

    ;********************************************************
    ;Beispiel Ende
    ;********************************************************

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

    $Source = _IEDocReadHTML($oIE) ;Liest Quellcode aus
    ConsoleWrite($Source & @CRLF & @CRLF) ;Schreibt ihn in die Konsole
    $sResult = _StringBetween($Source, '<TITLE>', '</TITLE>') ;Liest den Titel des Quellcodes mit StringBetween aus
    MsgBox(0, "Titel", $sResult[0]) ;Zeigt den Titel an $sResult, da _StringBetwwen ein Array liefert.

    [/autoit]