Munka a CAPTCHA-val emberi emulátorban

Idézet Wikipedia - CAPTCHA (az angol Teljesen automatizált nyilvános Turing-teszt a számítógép és az ember megkülönböztetésére -. Teljesen automatizált nyilvános Turing-teszt megkülönböztetni a számítógépek és emberek) - védjegye Carnegie Egyetem - Mellon University, amely kifejlesztett egy számítógép-alapú teszt használt határozza meg, hogy ki a rendszer felhasználója: egy személy vagy egy számítógép.

Emberi emulátorban három funkció van a captcha felismerésére:

recognize_captcha - felismeri a képet a lemezről captcha-ként
recognize_by_anticaptcha - felismeri a captcha képeket az anti-kapcha szolgálatán keresztül
recognize_by_captchabot - a captcha kép felismerése a szolgáltatáson keresztül

Íme néhány példa a különböző captcha használatára szolgáló parancsfájlokról.

Először a Captcha az Emberi Emulátor felismerésének funkcióját használjuk. Például, vegye fel a regisztrációs űrlapot az xanga.com webhelyen. Ez az oldal a 9-es típusú captcha-t használja, amelyet az ember 45% -os helyes találgatással old ki.

Funkció $ image-> recognize_captcha ($ file_path, $ típus); a bemeneten a képre és a kép típusára kerül a fájl elérési útja. Ezért mielőtt ezt a funkciót meghívnánk, el kell mentenünk a képet egy lemezen található fájlra. Ehhez a $ image-> screenshot_by_src függvényt használjuk.

Megjegyzés: A legjobb dolgozni képeket az src vagy annak egy részét src. Annak érdekében, hogy a kép src, akkor nyissa meg az erre vonatkozó tájékoztatást az Inspector Elements kattintva a jobb egérgombbal, és a helyi menüben válasszuk a „View felügyelő elemek” vagy ugyanebben a menüben, megadhatja, hogy kattintson a további $ Kép-> click_by_src és script beilleszti a click funkció teljes a src, ahonnan lehetséges lesz, hogy a megfelelő darabot, hogy ugyanaz lesz minden alkalommal, amikor frissíteni az oldalt.

Ebben az esetben a függvény a következő lesz: $ Kép-> screenshot_by_src ( "C: \\ \\ Temp tmp.jpeg", "randletters.aspx fy?", False); Ezután a $ image-> recognize_captcha ("C: \\ Temp \\ tmp.jpeg", 9) függvény;

Most adjuk hozzá az azonos script hívást párbeszéd input captcha $ str_captcha = $ alkalmazás-> dlg_captcha_from_url_exactly ( "randletters.aspx fy?", False); és egy változó zászló a munkához a felismerésen keresztül vagy a beviteli párbeszédablakban. Ennek eredményeként a szkriptünk:

Megjegyzés: Sajnos a screenshot_by_ * funkciók leírása még nem érhető el a Human Emulator dokumentációjában. Ezek a függvények minden objektumon dolgoznak, és a pillanatfelvételüket a megadott elérési útnak megfelelően mentik a lemezre. Ez azt jelenti, hogy képet készíthet az oldal bármely eleméről, az elem e vagy az attribútumának használatával. A funkciók hívásához használhatja az elem helyi menüjét -> a "Mentés" menüpontot, és válassza ki a kívánt funkciót a megjelenő listából.

és az elismerési szolgáltatások hívófunkciói:

ahol $ api_key az elismerési szolgáltatás kulcs

Az összes hívást lezárjuk, hogy felismerjük a captcha-t a kapcsoló utasításban, és hozzáadjuk a zászlót az elismerési mechanizmus kiválasztásához. Most a szkriptünk így fog kinézni: