String in Internetseite suchen

  • Hallo,

    ich weiss, es gibt schon sehr viele Themen zur String-Suche. Aber ich will, dass es eine Zahl findet und wenn sie da ist, soll es einen Alarm auslösen. Da hab ich bisher geschafft:

    [autoit]

    While 1
    Send( "{F5}")
    $Dateipfad = 'http://www.facebook.com/spieletipps.de'
    $Suchstring = '345.678'
    $Dateitext = FileRead($Dateipfad)
    If StringInStr($Dateitext, $Suchstring) Then
    SoundPlay( @ScriptDir & '\Alarm.wav')
    MsgBox(0,"", "BEEIL DICH!!")
    ShellExecute( 'http://www.facebook.com/spieletipps.de')
    EndIf
    Sleep( 5000)
    WEnd

    [/autoit]

    Danke schonmal! :rock:

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

    Einmal editiert, zuletzt von Stevenx (2. September 2011 um 17:00) aus folgendem Grund: Danke!

  • Mit FileRead wirst du bei einer URL nicht viel Glück haben!

    Versuch stattdessen InetRead()

    In deinem Fall also:

    [autoit]


    $URL_Inhalt = InetRead($Dateipfad, 1) ;Liest den Quelltext der URL
    InetClose($URL_Inhalt) ; Schließt das Handle
    $Dateitext = BinaryToString($URL_Inhalt) ;wandelt den Binärstring, welcher von InetRead zurückgegeben wurde in einen String

    [/autoit]
    UNPLEASANT SPOILER

    You just lost the game!

    Einmal editiert, zuletzt von shadow667 (2. September 2011 um 16:35)

  • OK, danke. Passt es so?

    [autoit]

    While 1
    Send( "{F5}")
    $Dateipfad = 'http://www.facebook.com/spieletipps.de'
    $Suchstring = '345.678'

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

    $Dateitext = BinaryToString(InetRead($Dateipfad))
    If $Dateitext = '344.530' Then
    SoundPlay( @ScriptDir & '\Alarm.wav')
    MsgBox(0,"", "BEEIL DICH!!")
    ShellExecute( 'http://www.facebook.com/spieletipps.de')
    EndIf
    Sleep( 5000)
    WEnd

    [/autoit]

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Hab das Codebeispiel nochmal geändert, demzufolge sollte dein Code dann so aussehen:

    [autoit]

    While 1
    ;Send( "{F5}") Kannst dir sparen, da der Parameter 1 im InetRead() den Quelltext sowieso aktualisiert ausliest
    $Dateipfad = 'http://www.facebook.com/spieletipps.de'
    $Suchstring = '345.678'

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

    $URL_Inhalt = InetRead($Dateipfad, 1) ;Liest den Quelltext der URL
    InetClose($URL_Inhalt) ; Schließt das Handle
    $Dateitext = BinaryToString($URL_Inhalt) ;wandelt den Binärstring, welcher von InetRead zurückgegeben wurde in einen String
    If $Dateitext = '344.530' Then
    SoundPlay( @ScriptDir & '\Alarm.wav')
    MsgBox(0,"", "BEEIL DICH!!")
    ShellExecute( 'http://www.facebook.com/spieletipps.de')
    EndIf
    Sleep( 5000)
    WEnd

    [/autoit]
    UNPLEASANT SPOILER

    You just lost the game!

  • Ich müsste eigentlich noch folgendes einbauen, oder?

    [autoit]

    $Likesanzahl = _StringBetween ($Source, 'placePageStatsNumber\">', "\u003c\/div> Personen gef\u00e4llt das")

    [/autoit]

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Ich müsste eigentlich noch folgendes einbauen, oder?

    [autoit]

    $Likesanzahl = _StringBetween ($Source, 'placePageStatsNumber\">', "\u003c\/div> Personen gef\u00e4llt das")

    [/autoit]

    Du willst also die "Likes" auch noch auslesen?

    $Source wäre also in deinem Fall (angepasst an den oben geposteten Code) $Dateitext...

    -Wobei ich grad sehe, daß uns irgendwo die StringinStr() Funktion abhanden gekommen ist... ?(

    Hier nochmal das (ungetestete) Script:

    Spoiler anzeigen
    [autoit]

    #include <String.au3>

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

    While 1
    ;Send( "{F5}") Kannst dir sparen, da der Parameter 1 im InetRead() den Quelltext sowieso aktualisiert ausliest
    $Dateipfad = 'http://www.facebook.com/spieletipps.de'
    $Suchstring = '345.678'

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

    $URL_Inhalt = InetRead($Dateipfad, 1) ;Liest den Quelltext der URL
    InetClose($URL_Inhalt) ; Schließt das Handle
    $Dateitext = BinaryToString($URL_Inhalt) ;wandelt den Binärstring, welcher von InetRead zurückgegeben wurde in einen String
    $Likesanzahl = _StringBetween ($Dateitext, 'placePageStatsNumber\">', "\u003c\/div> Personen gef\u00e4llt das")
    If StringinStr($Dateitext, $Suchstring) > 0 Then
    SoundPlay( @ScriptDir & '\Alarm.wav')
    MsgBox(0,"", "BEEIL DICH!!")
    ShellExecute( 'http://www.facebook.com/spieletipps.de')
    EndIf
    Sleep( 5000)
    WEnd

    [/autoit]
    UNPLEASANT SPOILER

    You just lost the game!

  • OK, danke. Teste es grad.

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Es funktioniert! Dankeschön!

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Aufpassen!!!

    Wenn die Anzahl der Likes die 345678 erreichen, wird alle 5 Sekunden ein neues Internet-Fenster (oder Tab) geöffnet... evtl. solltest du dein If noch etwas modifizieren

    UNPLEASANT SPOILER

    You just lost the game!

  • OK, danke. Würde es so auch gehen?

    [autoit]

    #Include <String.au3>While 1$Dateipfad = 'http://www.facebook.com/spieletipps.de'$Suchstring = '344.570'

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

    $URL_Inhalt = InetRead($Dateipfad, 1) ;Liest den Quelltext der URLInetClose($URL_Inhalt) ; Schließt das Handle$Dateitext = BinaryToString($URL_Inhalt) ;wandelt den Binärstring, welcher von InetRead zurückgegeben wurde in einen String$Likesanzahl = _StringBetween ($Dateitext, 'placePageStatsNumber\">', "\u003c\/div> Personen gef\u00e4llt das")If StringinStr($Dateitext, $Suchstring) = 344.570 Then SoundPlay( @ScriptDir & '\Alarm.wav') MsgBox(0,"", "BEEIL DICH!!") ShellExecute( 'http://www.facebook.com/spieletipps.de') ExitLoopEndIfIf StringinStr($Dateitext, $Suchstring) = '344.570' Then SoundPlay( @ScriptDir & '\Alarm.wav') MsgBox(0,"", "BEEIL DICH!!") ShellExecute( 'http://www.facebook.com/spieletipps.de') ExitLoopEndIf
    Sleep( 5000)WEnd

    [/autoit]

    [Blockierte Grafik: http://stefan.blagojevic.at/loading.gif]

    Design, Modellbau, CAD <3
    AutoCAD, ArchiCAD, REVIT (ist ein Scheiss, habe aber das Zertifikat)

    Cinema 4D, RuckZuck Statik Programm

    Michael Bay als Architekt


    Da eine Glasfassade! Booom Sichtbeton! Laminiertes Bild auf Mosaiksteinchen! Granit! Granit! Granit! Sichtbetonwand mit 50° Neigung!
    Holzverkleidung erscheint da! Boooooom!

  • Äh, du musst aufpassen:
    StringinStr gibt die Position des Suchstrings im String zurück und nicht dessen "Wert"!
    Wenn du dein Script nur brauchst, bis die gewünschte Anzahl an Likes erreicht wure, reicht ein Exit unter dem ShellExecute
    Etwa so:

    Spoiler anzeigen
    [autoit]

    #include <String.au3>

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

    While 1
    ;Send( "{F5}") Kannst dir sparen, da der Parameter 1 im InetRead() den Quelltext sowieso aktualisiert ausliest
    $Dateipfad = 'http://www.facebook.com/spieletipps.de'
    $Suchstring = '345.678'

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

    $URL_Inhalt = InetRead($Dateipfad, 1) ;Liest den Quelltext der URL
    InetClose($URL_Inhalt) ; Schließt das Handle
    $Dateitext = BinaryToString($URL_Inhalt) ;wandelt den Binärstring, welcher von InetRead zurückgegeben wurde in einen String
    $Likesanzahl = _StringBetween ($Dateitext, 'placePageStatsNumber\">', "\u003c\/div> Personen gef\u00e4llt das")
    If StringinStr($Dateitext, $Suchstring) > 0 Then
    SoundPlay( @ScriptDir & '\Alarm.wav')
    MsgBox(0,"", "BEEIL DICH!!")
    ShellExecute( 'http://www.facebook.com/spieletipps.de')
    Exit
    EndIf
    Sleep( 5000)
    WEnd

    [/autoit]
    UNPLEASANT SPOILER

    You just lost the game!