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 [email protected]:nibrag/aio_anticaptcha.git cd aio_anticaptcha python setup.py install
Requirements:
python 3.4+ aiohttp
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()
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()
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()
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()