Webseite nach einem String durchsuchen

  • wie geht man vor, wenn man auf einer webseite nach einem string sucht?
    z.b. verbinde ich mich mit _FFStart zu google und will jetzt nach "Datenschutz" suchen.

    Einmal editiert, zuletzt von tomAtik (2. März 2011 um 23:42)

  • Es geht über die InetRead()-Funktion.

    [autoit]


    $inhalt = InetRead("www.google.de")

    [/autoit]

    Dann hast Du in $inhalt den Inhalt der Seite im Binärformat.
    Ob es über die _FF-Funktionen auch geht, kann ich dir leider nicht sagen.

    Einmal editiert, zuletzt von _DICE_ (2. März 2011 um 15:54)

  • Wie schon gesagt wurde gehts über InetRead oder aber _INetGetSource (was im Prinzip auch nix anderes ist^^ )

    Im Beispiel von DICE muss es natürlich auch InetGet heißen sonst funktionierts nicht^^

  • Stimmt, da hab ich einen Fehler gemacht, aber es geht über beide Funktionen:

    • InetRead lädt die Datei/Seite herunter und liest sie ein, weshalb ich über $inhalt = InetRead() den Inhalt direkt in eine Variable einlesen kann.
    • InetGet hingegen lädt die Datei nur herunter. Außerdem muss ich hier den Download abwarten(wenn ich die komplette Datei durchsuchen will) und muss dann die Datei separat auslesen.

    Ich dachte zuerst an InetGet, dann fiel mir aber wieder InetRead ein, deshalb der Funktions-Dreher.

  • Hallo tomAtik,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    Links zur FireFox-Atomation:

    • Mozrepl wird dafür benötigt, kannst du von hier installieren: http://wiki.github.com/bard/mozrepl/
    • FF.au3 herunterladen
    • Mozrepl über Extras|Mozrepl im Firefox starten
    • Funktionsrefernz findest du hier
    • Zum testen Skript starten: [autoit]#Include <FF.au3>

      _FFStart("http://www.autoit.de", Default, 2)

      If _FFIsConnected() Then
      If _FFLoadWait() Then MsgBox(64, "", "Page was loaded in " & @extended & "ms")

      Sleep(3000)
      ;_FFQuit() ;FireFox schliessen
      EndIf

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

    und jetzt zu deiner Frage: das kannst du z.B. so lösen:

    Spoiler anzeigen
    [autoit]

    #Include <FFTest.au3> ;neueste Testversion der FF.AU3
    #Include <Array.au3>

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

    _FFStart("http://google.com/")
    If _FFIsConnected() Then
    $aLinks = _FFLinksGetAll()
    _ArrayDisplay($aLinks)
    $iDatenschutz = _ArraySearch($aLinks,"Datenschutz",0,0,0,0,0,6)
    _FFOpenUrl($aLinks[$iDatenschutz][0])
    $sText = _FFReadText()
    MsgBox(0,"",$sText)
    EndIf

    [/autoit]

    mfg autoBert

  • Hallo douky,

    ich dachte eigentlich er möchte den Text der Seite mit dem Datenschutz. Hier noch ein paar andere Möglichkeiten, ihn zu erhalten (entsprechende Stellen dekommentieren):

    Spoiler anzeigen
    [autoit]

    #Include <FFTest.au3> ;neueste Testversion der FF.AU3
    #Include <Array.au3>

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

    _FFStart("http://google.com/")
    If _FFIsConnected() Then
    #cs Möglichkeit 1
    $aLinks = _FFLinksGetAll()
    _ArrayDisplay($aLinks)
    $iDatenschutz = _ArraySearch($aLinks,"Datenschutz",0,0,0,0,0,6)
    _FFOpenUrl($aLinks[$iDatenschutz][0])
    _FFOpenUrl($aLinks[$iDatenschutz][0])
    #ce
    #cs möglichkeit 2 ;dazu must du wissen dass das Wort Privacy im Link enthalten ist
    ;_FFLinkClick("privacy")
    #ce
    ;Möglichkeit3 die einfachste das Wort Datenschutz ist (ein Teil) des/der sichtbare(n) Link(s)
    _FFLinkClick("Datenschutz","text")
    $sText = _FFReadText()
    MsgBox(0,"",$sText)
    EndIf

    [/autoit]

    mfg autoBert