recognizer
recognizer copied to clipboard
🦉Gracefully face reCAPTCHA challenge with ultralytics YOLOv8-seg, CLIPs VIT-B/16 and CLIP-Seg/RD64. Implemented in playwright or an easy-to-use API.
reCognizer v1.4
reCognizer is a free-to-use AI based reCaptcha Solver.
Usable with an easy-to-use API, also available for Async and Sync Playwright.
You can pass almost any format into the Challenger, from full-page screenshots, only-captcha images and no-border images to single images in a list.
Note: You Should use an undetected browser engine like Botright to solve the Captchas consistently.
reCaptcha detects normal Playwright easily and you probably wont get any successful solves despite correct recognitions.
Sponsors
Capsolver.com is an AI-powered service that specializes in solving various types of captchas automatically. It supports captchas such as reCAPTCHA V2, reCAPTCHA V3, hCaptcha, FunCaptcha, DataDome, AWS Captcha, Geetest, and Cloudflare Captcha / Challenge 5s, Imperva / Incapsula, among others.
For developers, Capsolver offers API integration options detailed in their documentation, facilitating the integration of captcha solving into applications. They also provide browser extensions for Chrome and Firefox, making it easy to use their service directly within a browser. Different pricing packages are available to accommodate varying needs, ensuring flexibility for users.
Install it from PyPI
pip install recognizer
Examples
Possible Image Inputs
Example Solve Video (Good IP & Botright)
https://github.com/Vinyzu/recognizer/assets/50874994/95a713e3-bb46-474b-994f-cb3dacae9279
Basic Usage
# Only for Type-Hints
from typing import TypeVar, Sequence, Union
from pathlib import Path
from os import PathLike
accepted_image_types = TypeVar("accepted_image_types", Path, Union[PathLike[str], str], bytes, Sequence[Path], Sequence[Union[PathLike[str], str]], Sequence[bytes])
# Real Code
from recognizer import Detector
detector = Detector()
task_type: str = "bicycle"
images: accepted_image_types = "recaptcha_image.png"
area_captcha: bool = False
response, coordinates = detector.detect(task_type, images, area_captcha=area_captcha)
Playwright Usage
Sync Playwright
from playwright.sync_api import sync_playwright, Playwright
from recognizer.agents.playwright import SyncChallenger
def run(playwright: Playwright):
browser = playwright.chromium.launch()
page = browser.new_page()
challenger = SyncChallenger(page)
page.goto("https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox-explicit.php")
challenger.solve_recaptcha()
browser.close()
with sync_playwright() as playwright:
run(playwright)
Async Playwright
import asyncio
from playwright.async_api import async_playwright, Playwright
from recognizer.agents.playwright import AsyncChallenger
async def run(playwright: Playwright):
browser = await playwright.chromium.launch()
page = await browser.new_page()
challenger = AsyncChallenger(page)
await page.goto("https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox-explicit.php")
await challenger.solve_recaptcha()
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
Copyright and License
© Vinyzu
(Commercial Usage is allowed, but source, license and copyright has to made available. reCaptcha Challenger does not provide and Liability or Warranty)
Thanks to
QIN2DIM (For basic project structure)