Regex Problem

  • Hallo,

    ich möchte von dieser Seite 2 Felder auslesen.
    Leider klappt das nicht!


    Mein Code

    [autoit]


    #include <array.au3>

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

    $Sprache = "http://translate.google.de/#de|es|Tierheim"
    $sSource = BinaryToString(InetRead($Sprache))
    $Quelle = StringRegExp($sSource,'wrap="SOFT" name=(.*?) style',3)
    $Ziel = StringRegExp($sSource,'class="hps">(.*?)</span>',3)

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

    _ArrayDisplay($Quelle, "Deutsch")
    _ArrayDisplay($Ziel, "Spanisch")
    MsgBox(0,"Deutsch",$Quelle)
    MsgBox(0,"Spanisch",$Ziel)

    [/autoit]

    Die Seite ist hier

    [autoit]


    http://translate.google.de/#de|es|Tierheim

    [/autoit]

    Also einfach
    Msgbox: das ist der Quelltext...
    Msgbox: das ist die Übersetzung

    Bräuchte mal wieder Hilfe von den Profis. Schaffe es einfach nicht!

    Liebe Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (30. September 2011 um 10:44)

  • Das wird per Javascript nachträglich rein geladen. Das kannst so einfach mit InetRead nicht auslesen, weil bei InetRead des JS-Code nicht ausgeführt wird.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Denke mal über die _IE funktionen kommst da eher ran. Sprich IE versteckt starten und dann dort auslesen.

    Kann mich aber auch dunkle dran erinner das es für die Google Übersetzung eine API-Schnittstelle gibt.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Hallo Chip,

    einfach zum verstehen:
    D.h. ich rufe immer diese LINKS auf,
    und lese dann mit Inetget die Felder aus?

    Macht man das so?

    Tappe noch etwas im dunkeln!!!

    ;) Ilse

  • Richtig, genau so.

    Guckst du hier:

    Spoiler anzeigen
    [autoit]

    #include <String.au3>

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

    $quellsprache = "de"
    $zielsprache = "es"
    $uebersetzen = "Tierheim"
    $sSource = BinaryToString(InetRead("http://ajax.googleapis.com/ajax/services/language/translate?q=" & $uebersetzen & "&v=1.0&langpair=" & $quellsprache & "|" & $zielsprache))
    $eregbnis = _StringBetween($sSource,'translatedText":"','"},')

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

    MsgBox(0, "Deutsch", $uebersetzen)
    MsgBox(0, "Spanisch", $eregbnis[0])

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    Einmal editiert, zuletzt von chip (28. September 2011 um 14:14)

  • Hallo Chip,

    super, genau so hatte ich mir das vorgestellt.
    Eine Frage noch:
    Kann man mittels API auch den Soundlink starten?
    Also nicht mit _ieAction, oder MouseClick...

    ;) Ilse