Skip to main content

🦉 Gracefully face reCAPTCHA challenge with ultralytics YOLOv8-seg and CLIPs VIT-B/32. Implemented in playwright or an easy-to-use API.

Project description

reCognizer v1.1

Tests & Linting

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.

Install it from PyPI

pip install recognizer

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

GNU GPL

(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)


Version License Python

my-discord buy-me-a-coffee

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recognizer-1.1.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

recognizer-1.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file recognizer-1.1.tar.gz.

File metadata

  • Download URL: recognizer-1.1.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for recognizer-1.1.tar.gz
Algorithm Hash digest
SHA256 f988324ff56286e95cb4a93a9776a2a3fc3ef65acc1c6790be0b0da9981b5ed4
MD5 d2dfdad3e9c229851cd3984ef561da9d
BLAKE2b-256 66cd5443fce50afde4f6de2f57f9e0a71717b82cbef66a5d9f2ff111293dca93

See more details on using hashes here.

File details

Details for the file recognizer-1.1-py3-none-any.whl.

File metadata

  • Download URL: recognizer-1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.1

File hashes

Hashes for recognizer-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f4da5c042ff17bb0b34447a89ea41b1ea08c4f437f08515677eb89201246578
MD5 9f6d77e4954df596c6c9da6091b6ba3b
BLAKE2b-256 c77344615e71c18277f10e69dbc96b74e8a85261dda9bea880109dc842acb5e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page