Easy wrapper for antigate.com/anti-captcha.com
Project description
Real-time captcha-to-text decodings
===================================
.. image:: https://api.travis-ci.org/gotlium/antigate.png?branch=master
:alt: Build Status
:target: https://travis-ci.org/gotlium/antigate
.. image:: https://coveralls.io/repos/gotlium/antigate/badge.png?branch=master
:target: https://coveralls.io/r/gotlium/antigate?branch=master
.. image:: https://img.shields.io/badge/python-2.6,2.7,3.3,3.4,3.5-blue.svg
:alt: Python 2.6, 2.7, 3.3, 3.4, 3.5
:target: https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/v/antigate.svg
:alt: Current version on PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/dm/antigate.svg
:alt: Downloads from PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/badge/license-GPLv2-green.svg
:target: https://pypi.python.org/pypi/antigate/
:alt: License
Documentation available `here <https://pythonhosted.org/antigate/>`_.
Installation
------------
From source:
.. code-block:: bash
$ git clone https://github.com/gotlium/antigate.git
$ cd antigate && python setup.py install
From PyPi:
.. code-block:: bash
$ pip install antigate
**Requirements:**
You can use grab/requests/urllib as http backends.
`Grab` installation:
.. code-block:: bash
pip install grab pycurl
`Requests` installation:
.. code-block:: bash
pip install requests
`UrlLib` used by default.
Usage
-----
.. code-block:: python
>>> from antigate import AntiGate # AntiCaptcha
# per line example
>>> print AntiGate('API-KEY', 'captcha.jpg') # AntiCaptcha('API-KEY', filename or base64 or bytes)
# or like this
>>> gate = AntiGate('API-KEY') # AntiCaptcha('API-KEY')
>>> captcha_id = gate.send('captcha.jpg')
>>> print gate.get(captcha_id)
If you wish to complain about a mismatch results, use ``abuse`` method:
.. code-block:: python
>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY', 'captcha.jpg')
>>> if str(gate) != 'qwerty':
>>> gate.abuse()
After all manipulations, you can get your account balance:
.. code-block:: python
>>> print gate.balance()
Or get your statistics data:
.. code-block:: python
>>> print gate.stats()
System load info:
.. code-block:: python
>>> print gate.load()
Customizing requests to API
---------------------------
Customize grab-lib preferences:
.. code-block:: python
>>> from antigate import AntiGate
>>> config = {'connect_timeout': 5, 'timeout': 60}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', grab_config=config)
>>> print gate
Additional options for sending Captcha:
.. code-block:: python
>>> from antigate import AntiGate
>>> config = {'min_len': '3', 'max_len': '5', 'phrase': '2'}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', send_config=config)
>>> print gate
Use all methods manually:
.. code-block:: python
>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get(captcha_id1)
>>> print gate.get(captcha_id2)
Get results for multiple ids:
.. code-block:: python
>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get_multi([captcha_id1, captcha_id2])
If you want use bytes or base64:
.. code-block:: python
# Per line binary example
>>> print AntiGate('API-KEY', fp.read())
# Per line base64 example
>>> print AntiGate('API-KEY', b64encode(fp.read()))
# Custom requests
>>> gate = AntiGate('API-KEY')
# base64
>>> captcha_id = gate.send(b64encode(fp.read()))
# or stream
>>> captcha_id = gate.send(fp.read())
>>> print gate.get(captcha_id)
Api documentation
-----------------
https://anti-captcha.com/apidoc / http://antigate.com/?action=api#algo
Compatibility
-------------
* Python: 2.6, 2.7, 3.3, 3.4, 3.5
.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/antigate/trend.png
:alt: Bitdeli badge
:target: https://bitdeli.com/free
===================================
.. image:: https://api.travis-ci.org/gotlium/antigate.png?branch=master
:alt: Build Status
:target: https://travis-ci.org/gotlium/antigate
.. image:: https://coveralls.io/repos/gotlium/antigate/badge.png?branch=master
:target: https://coveralls.io/r/gotlium/antigate?branch=master
.. image:: https://img.shields.io/badge/python-2.6,2.7,3.3,3.4,3.5-blue.svg
:alt: Python 2.6, 2.7, 3.3, 3.4, 3.5
:target: https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/v/antigate.svg
:alt: Current version on PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/pypi/dm/antigate.svg
:alt: Downloads from PyPi
:target:https://pypi.python.org/pypi/antigate/
.. image:: https://img.shields.io/badge/license-GPLv2-green.svg
:target: https://pypi.python.org/pypi/antigate/
:alt: License
Documentation available `here <https://pythonhosted.org/antigate/>`_.
Installation
------------
From source:
.. code-block:: bash
$ git clone https://github.com/gotlium/antigate.git
$ cd antigate && python setup.py install
From PyPi:
.. code-block:: bash
$ pip install antigate
**Requirements:**
You can use grab/requests/urllib as http backends.
`Grab` installation:
.. code-block:: bash
pip install grab pycurl
`Requests` installation:
.. code-block:: bash
pip install requests
`UrlLib` used by default.
Usage
-----
.. code-block:: python
>>> from antigate import AntiGate # AntiCaptcha
# per line example
>>> print AntiGate('API-KEY', 'captcha.jpg') # AntiCaptcha('API-KEY', filename or base64 or bytes)
# or like this
>>> gate = AntiGate('API-KEY') # AntiCaptcha('API-KEY')
>>> captcha_id = gate.send('captcha.jpg')
>>> print gate.get(captcha_id)
If you wish to complain about a mismatch results, use ``abuse`` method:
.. code-block:: python
>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY', 'captcha.jpg')
>>> if str(gate) != 'qwerty':
>>> gate.abuse()
After all manipulations, you can get your account balance:
.. code-block:: python
>>> print gate.balance()
Or get your statistics data:
.. code-block:: python
>>> print gate.stats()
System load info:
.. code-block:: python
>>> print gate.load()
Customizing requests to API
---------------------------
Customize grab-lib preferences:
.. code-block:: python
>>> from antigate import AntiGate
>>> config = {'connect_timeout': 5, 'timeout': 60}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', grab_config=config)
>>> print gate
Additional options for sending Captcha:
.. code-block:: python
>>> from antigate import AntiGate
>>> config = {'min_len': '3', 'max_len': '5', 'phrase': '2'}
>>> gate = AntiGate('API-KEY', 'captcha.jpg', send_config=config)
>>> print gate
Use all methods manually:
.. code-block:: python
>>> from antigate import AntiGate
>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get(captcha_id1)
>>> print gate.get(captcha_id2)
Get results for multiple ids:
.. code-block:: python
>>> gate = AntiGate('API-KEY')
>>> captcha_id1 = gate.send('captcha1.jpg')
>>> captcha_id2 = gate.send('captcha2.jpg')
>>> print gate.get_multi([captcha_id1, captcha_id2])
If you want use bytes or base64:
.. code-block:: python
# Per line binary example
>>> print AntiGate('API-KEY', fp.read())
# Per line base64 example
>>> print AntiGate('API-KEY', b64encode(fp.read()))
# Custom requests
>>> gate = AntiGate('API-KEY')
# base64
>>> captcha_id = gate.send(b64encode(fp.read()))
# or stream
>>> captcha_id = gate.send(fp.read())
>>> print gate.get(captcha_id)
Api documentation
-----------------
https://anti-captcha.com/apidoc / http://antigate.com/?action=api#algo
Compatibility
-------------
* Python: 2.6, 2.7, 3.3, 3.4, 3.5
.. image:: https://d2weczhvl823v0.cloudfront.net/gotlium/antigate/trend.png
:alt: Bitdeli badge
:target: https://bitdeli.com/free
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
antigate-1.4.0.tar.gz
(5.6 kB
view details)
Built Distribution
File details
Details for the file antigate-1.4.0.tar.gz
.
File metadata
- Download URL: antigate-1.4.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c4ac59d2b749e0bd4cad3371f4d178c829328a310a970fbf3b52a573c3543e9 |
|
MD5 | 2466f7bd79c54bc2548f6d4997938b37 |
|
BLAKE2b-256 | 1960adf040568a18edc04a2c3ce23ef58b436c8f2f11b101666978e7dfda44e3 |
File details
Details for the file antigate-1.4.0-py2-none-any.whl
.
File metadata
- Download URL: antigate-1.4.0-py2-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcd96426bbdb4a39d4f686dd339f59b88ee1d6aea20a065496afd9e033d76c9a |
|
MD5 | 130e85eac23276d418fa2cf8078702db |
|
BLAKE2b-256 | 55a05b5a077ad51db91afaba9a4dbb6850b849c6bfd37c5d631801e2b9225cb5 |