🦉Gracefully face reCAPTCHA challenge with ultralytics YOLO11-seg, CLIPs VIT-B/16 and CLIP-Seg/RD64. Implemented in playwright or an easy-to-use API.
Project description
🎭 reCognizer
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 Patchright or Botright to solve the Captchas consistently.
reCaptcha detects normal Playwright easily and you probably wont get any successful solves despite correct recognitions.
Sponsors
Thordata - Your First Plan is on Us! 💰Get 100% of your first residential proxy purchase back as wallet balance, up to $900.
⚡ Why Thordata?
🌍 190+ real residential & ISP IP locations
🔐 Fully encrypted, ultra-secure connections
🚀 Optimized for web scraping, ad verification & automation workflows
🔥Don’t wait — this is your best time to start with Thordata and experience the safest, fastest proxy network.
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(optimize_click_order=True)
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, click_timeout=1000)
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, click_timeout=1000)
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
(Commercial Usage is allowed, but source, license and copyright has to made available. reCaptcha Challenger does not provide and Liability or Warranty)
Projects/AIs Used
YOLO11m-seg
flavour/CLIP ViT-L/14
CIDAS/clipseg
Thanks to
QIN2DIM (For basic project structure)
Disclaimer
This repository is provided for educational purposes only.
No warranties are provided regarding accuracy, completeness, or suitability for any purpose. Use at your own risk—the authors and maintainers assume no liability for any damages, legal issues, or warranty breaches resulting from use, modification, or distribution of this code.
Any misuse or legal violations are the sole responsibility of the user.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file recognizer_hsy-1.4.0.tar.gz.
File metadata
- Download URL: recognizer_hsy-1.4.0.tar.gz
- Upload date:
- Size: 34.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7990ca800dae3ec58359fbd8f9a180a41eb17d67e1ccb9500edc0141dcf8542
|
|
| MD5 |
4837907900b84e99fcf1d1fd9e7e4e29
|
|
| BLAKE2b-256 |
6d2c3c13bceb9e042793d69e6208fd811bd5901a0e23f55eb62e87682009ee48
|
File details
Details for the file recognizer_hsy-1.4.0-py3-none-any.whl.
File metadata
- Download URL: recognizer_hsy-1.4.0-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d849a85ef901dab636a872dee9b031d47270f7d8f631ccd9ecf10e36bf02e03
|
|
| MD5 |
190ffb0bdd7ff5a54b6eb6c9b0611a0a
|
|
| BLAKE2b-256 |
3a1f90162e87e62a49e2e4f51f00ac95c6ac4dab9d3aa8ad8dc24275c842ef32
|