image pfad aus htmlbody

  • hi ich möchte gerne den captcha code hier auslesen bzw das Bild

    Code
    <img id="captchaimg" class="bh" src="/Captcha/img.D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731.jpg?id=D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731" width="220" height="50" border="0" alt="Falls Sie Schwierigkeiten bei der Registrierung haben, helfen wir Ihnen gerne persönlich weiter: 09001-93 23 30" />

    also

    Code
    /Captcha/img.D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731.jpg?id=D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731

    (web.de) soll zum automatischen regestieren dinnen mit vorher eingegeben Daten

    und wie ich dann das Bild herrunterladen kann

  • Ich kann dir nun nur die Hilfe geben, wie du es machen kannst. Müsstest dich dann eben dementsprechend nochmal einlesen.

    http://www.autoit.de/dokumentation/functions/StringInStr.htm

    Das sollte dir ganz klar dabei helfen, dein Problem zu lösen. Du kannst dann checken, dann das ".jpg" enthalten ist. Wenn dies der Fall ist kannst den Rest dahinter abschneiden mit

    http://www.autoit.de/dokumentation/…ngTrimRight.htm

    Oder einer Ähnlichen Funktion. Musst einfach mal in der Helpfile nach "string" suchen.

  • habe gerade rausgefunden, wie der Pfad dann ist https://user.web.de//Captcha/img.9…43t21-657408388

    so kann ich das Bild runterladen und in eine GUI zum eingeben tüdeln jetzt fehlt nur noch das auslesen des SRC vielleicht alle _StringBetween('src="', '"') und dann mit StringInStr prüfen wo Captcha vorkommt

    wenn es natürlich noch andere Möglichkeiten gibt immer her damit

  • [autoit]


    #include <Array.au3>

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


    #include <String.au3>
    $string = '<img id="captchaimg" class="bh" src="/Captcha/img.D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731.jpg?id=D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731" width="220" height="50" border="0" alt="Falls Sie Schwierigkeiten bei der Registrierung haben, helfen wir Ihnen gerne persönlich weiter: 09001-93 23 30" />'
    $anfang = '<img id="captchaimg" class="bh" src="/'
    $ende = '" width="220" height="50" border="0" alt="Falls Sie Schwierigkeiten bei der Registrierung haben, helfen wir Ihnen gerne persönlich weiter: 09001-93 23 30" />'

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

    $stringbetween = _StringBetween($string, $anfang, $ende)

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

    $stringbetween = $stringbetween[0]

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

    MsgBox(0, "", $stringbetween)

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

    mfg

  • nein hat leider nicht funktioniert ich glaube die Browser stellen den Quelltext unterschiedlich dar und irgendwie ist bei IE alt vor src 8|

    habe es mal so gelöst:

    [autoit]


    $srcs = _StringBetween($bodycode, 'src="', '"')
    $max = UBound($srcs)-1
    For $i = 1 To $max
    If StringInStr($srcs[$i], "Captcha") Then
    $imagepath = "https://user.web.de/"&$srcs[$i]
    Exitloop
    EndIf
    Next

    [/autoit]

    Einmal editiert, zuletzt von leviathan (24. Juni 2007 um 20:59)

  • Hi,

    geht auch mit RegExp ;)

    [autoit]


    $captcha = '<img id="captchaimg" class="bh" src="/Captcha/img.D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731.jpg?id=D4D07A0AA7BB0D0A02BEB049B588A87A.a01a02d43t11--929824731" width="220" height="50" border="0" alt="Falls Sie Schwierigkeiten bei der Registrierung haben, helfen wir Ihnen gerne persönlich weiter: 09001-93 23 30" />'
    $result = StringRegExp($captcha,"(/Captcha/img\.[\S]*)",1)
    ConsoleWrite(stringleft($result[0],stringlen($result[0])-1))

    [/autoit]
  • ja leider muss ich feststellen, dass ich das Bild nicht runterladen kann bzw wenn ich den Link in einem anderen $o_object aufrufe kommt ein anderes -.-

  • hab mir die Seite gerade mal angeguckt ... kein Wunder das es nicht geht, ist ja auch nen Botschutz ... deswegen wird bei jedem Aufruf ein neues Bild dynamisch generiert... ;)

  • nicht so schlimm hab schon nen bug gefunden, wie ich den botschutz übergehe XD

    nur hab ich jetzt zwei solche activeX shellexplorer Teile und ich kann nicht mehr das erste ansprechen bzw es passiert nichts und es kommt auch keine Fehlermeldung

    [autoit]

    _IENavigate($oIE_captcha, $imagepath, 1)
    $pos = WinGetPos("Lev's Faker 2.0")
    WinMove("Captcha", "", $pos[0]+$pos[2]+20, $pos[1])
    GUISetState(@SW_Show, $captcha_gui)
    $dll = DllOpen("user32.dll")
    While 1
    If _IsPressed("0D", $dll) Then Exitloop
    WEnd
    DllClose($dll)
    GUISetState(@SW_HIDE, $captcha_gui)
    $captcha = GUICtrlRead($captcha_input)
    $o_form = _IEGetObjByName ($oIE, "step1")
    $o_captcha = _IEFormElementGetObjByName ($o_form, "step1:captchaAnswer")
    _IEFormElementSetValue ($o_captcha, $captcha)
    _IEFormSubmit ($oIE)

    [/autoit]

    Einmal editiert, zuletzt von leviathan (24. Juni 2007 um 21:56)