Skip to main content

Real-time captcha-to-text decodings

Project description

https://travis-ci.org/nibrag/aio_anticaptcha.svg?branch=master https://coveralls.io/repos/github/nibrag/aio_anticaptcha/badge.svg?branch=master

API documentation

Installation

You can install it using Pip:

pip install aio_anticaptcha

If you want the latest development version, you can install it from source:

git clone git@github.com:nibrag/aio_anticaptcha.git
cd aio_anticaptcha
python setup.py install

Requirements:

python 3.4+
aiohttp

Usage

With context manager

import asyncio
from aio_anticaptcha import AntiCaptcha, ServiceError

async def run(loop):
    try:
        with AntiCaptcha('API-KEY', loop=loop) as ac:
            # io.IOBase
            fh = open('captcha.jpg')
            resolved, captcha_id = await ac.resolve(fh)

            # or bytes, bytearray
            bytes_buff = open('captcha.jpg', 'rb').read()
            resolved, captcha_id = await ac.resolved(bytes_buff)
    except ZeroBalanceError:
        print('Zero balance')
    except UserKeyError:
        print('Invalid api key...')
    except ServiceError as e:
        print('Something else', str(e))

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

Without context manager

import asyncio
from aio_anticaptcha import AntiCaptcha, ServiceError

async def run(loop):
    ac = AntiCaptcha('API-KEY', loop=loop)
    try:
        # io.IOBase
        resolved, captcha_id = await ac.resolve(open('captcha.jpg'))

        # or bytes, bytearray
        bytes_buff = open('captcha.jpg', 'rb').read()
        resolved, captcha_id = await ac.resolved(bytes_buff)
    except ServiceError as e:
        print(e)
    finally:
        # do'nt forget call close method
        ac.close()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

If you wish to complain about a mismatch results, use abuse method:

import asyncio
from aio_anticaptcha import AntiCaptcha

async def run(loop):
    with AntiCaptcha('API-KEY', loop=loop) as ac:
        resolved, captcha_id = await ac.resolve(open('captcha.jpg'))
        await ac.abuse(captcha_id)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

After all manipulations, you can get your account balance:

import asyncio
from aio_anticaptcha import AntiCaptcha

async def run(loop):
    with AntiCaptcha('API-KEY', loop=loop) as ac:
        balance = await ac.get_balance()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

Additional options for sending Captcha:

Read documentation about all available options: https://anti-captcha.com/apidoc

import asyncio
from aio_anticaptcha import AntiCaptcha

async def run(loop):
    with AntiCaptcha('API-KEY', loop=loop) as ac:
        resolved, captcha_id = await ac.resolve(open('captcha.jpg'), max_len=5, is_russian=True)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

Customizing anticaptcha service

import asyncio
from aio_anticaptcha import AntiCaptcha

async def run(loop):
    with AntiCaptcha('API-KEY', loop=loop, domain='antigate.com', port=80) as ac:
        balance = await ac.get_balance()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

AntiGate.com supported

import asyncio
from aio_anticaptcha import AntiGate

async def run(loop):
    with AntiGate('API-KEY', loop=loop) as ag:
        balance = await ag.get_balance()

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run(loop))
    loop.close()

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

aio_anticaptcha-0.1.0.zip (7.9 kB view details)

Uploaded Source

File details

Details for the file aio_anticaptcha-0.1.0.zip.

File metadata

File hashes

Hashes for aio_anticaptcha-0.1.0.zip
Algorithm Hash digest
SHA256 c1e486d6a02cf6f9a9f2999a334a9c0ade4b9b812f127c1eacf3a1c0dbd92867
MD5 383b41d35e7e14d4e7520c356b5176cd
BLAKE2b-256 d19757dac0c4a9eb8f23e80292a089da2f0386fbd366a158867fceb324cf3239

See more details on using hashes here.

Supported by

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