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

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


Release history Release notifications

This version
History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
aio_anticaptcha-0.1.0.zip (7.9 kB) Copy SHA256 hash SHA256 Source None Jun 9, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page