From 8dd885594a747679b4c3d16d8d50ff80501301e0 Mon Sep 17 00:00:00 2001 From: AndreiDrang Date: Fri, 15 Dec 2017 14:24:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= =?UTF-8?q?=20Python=20=D0=BD=D0=B0=203.5.=20=D0=94=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=D1=8B=20=D0=B2=20=D0=A0=D0=B8=D0=B4=D0=BC=D0=B8=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B5=20=D1=81=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=BF=D1=87=D1=91=D0=B9-=D0=B8=D0=B7=D0=BE=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 44 +++++++----- .../anticaptcah_image_to_text_example.py | 71 +++++++++++-------- setup.py | 2 +- 3 files changed, 69 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 5d65e83..85fee65 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Python 3 library for AntiCaptcha. Tested on UNIX based OS. +**If you work with ImageCaptcha on Windows, please use `save_format = 'const'`.** + Библиотека предназначена для разрабаотчиков ПО и служит для облегчения работы с API сервиса AntiCaptcha. ## How to install? Как установить? @@ -23,39 +25,47 @@ python setup.py install ``` *** По всем вопросам можете писать в [Telegram](https://t.me/joinchat/CD2EtQ5Pm0dmoSQQMTkVlw) чат. + +With any questions, please contact us in [Telegram](https://t.me/joinchat/CD2EtQ5Pm0dmoSQQMTkVlw). *** +Присутствуют [примеры работы с библиотекой](https://github.com/AndreiDrang/python3-anticaptcha/tree/master/anticaptcha_examples). + +Full examples you can find [here](https://github.com/AndreiDrang/python3-anticaptcha/tree/master/anticaptcha_examples). + +*** +### At the moment the following methods are implemented: ### На данный момент реализованы следующие методы: -1.[Решение капчи-изображения.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcah_image_to_text_example.py) +1.[Image to text captcha. Решение капчи-изображения.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcah_image_to_text_example.py) Краткий пример: ```python from python3_anticaptcha import ImageToTextTask -# Введите ключ от сервиса AntiCaptcha, из своего аккаунта +# Введите ключ от сервиса AntiCaptcha, из своего аккаунта. Anticaptcha service key. ANTICAPTCHA_KEY = "" -# Ссылка на изображения для расшифровки +# Ссылка на изображения для расшифровки. Link to captcha image. image_link = "http://85.255.8.26/static/image/common_image_example/800070.png" -# Возвращается строка-расшифровка капчи +# Возвращается строка-расшифровка капчи. Get string for solve captcha, and some other info. user_answer = ImageToTextTask.ImageToTextTask(anticaptcha_key = ANTICAPTCHA_KEY).captcha_handler(captcha_link=image_link) print(user_answer) ``` -2.[Решение новой ReCaptcha v2 с прокси.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_nocaptcha_example.py) +2.[ReCaptcha v2 _with_ proxy. Решение новой ReCaptcha v2 с прокси.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_nocaptcha_example.py) -3.[Решение новой ReCaptcha v2 без прокси.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_nocaptcha_example.py) +3.[ReCaptcha v2 _without_ proxy. Решение новой ReCaptcha v2 без прокси.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_nocaptcha_example.py) Краткий пример: ```python from python3_anticaptcha import NoCaptchaTaskProxyless -# Введите ключ от сервиса AntiCaptcha, из своего аккаунта +# Введите ключ от сервиса AntiCaptcha, из своего аккаунта. Anticaptcha service key. ANTICAPTCHA_KEY = "" -# G-ReCaptcha ключ сайта +# G-ReCaptcha ключ сайта. Website google key. SITE_KEY = '6LeuMjIUAAAAAODtAglF13UiJys0y05EjZugej6b' -# Ссылка на страницу с капчёй +# Ссылка на страницу с капчёй. Page url. PAGE_URL = 'https://www.google.com/recaptcha/intro/android.html' -# Возвращается строка-расшифровка капчи +# Возвращается строка-расшифровка капчи. Get string for solve captcha, and other info. user_answer = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(anticaptcha_key = ANTICAPTCHA_KEY)\ .captcha_handler(websiteURL=PAGE_URL, websiteKey=SITE_KEY) @@ -63,18 +73,18 @@ user_answer = NoCaptchaTaskProxyless.NoCaptchaTaskProxyless(anticaptcha_key = AN print(user_answer) ``` -4.[Решение FunCaptchaTask.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_fun_example.py) +4.[FunCaptcha. Решение FunCaptchaTask.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_fun_example.py) Краткий пример: ```python from python3_anticaptcha import FunCaptchaTask -# Введите ключ от сервиса AntiCaptcha, из своего аккаунта +# Введите ключ от сервиса AntiCaptcha, из своего аккаунта. Anticaptcha service key. ANTICAPTCHA_KEY = "" # G-ReCaptcha ключ сайта SITE_KEY = '' # Ссылка на страницу с капчёй PAGE_URL = '' -# Возвращается строка с ключём для отправки на проверку +# Возвращается строка с ключём для отправки на проверку. Get full data for solve captcha. user_answer = FunCaptchaTask.FunCaptchaTask(anticaptcha_key=ANTICAPTCHA_KEY, proxyType="http", proxyAddress="8.8.8.8", @@ -85,14 +95,14 @@ user_answer = FunCaptchaTask.FunCaptchaTask(anticaptcha_key=ANTICAPTCHA_KEY, print(user_answer) ``` -5.[Модуль для получения инофрмации о балансе аккаунта и отправке жалоб.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_control_example.py) +5.[Account management module. Модуль для получения инофрмации о балансе аккаунта и отправке жалоб.](https://github.com/AndreiDrang/python3-anticaptcha/blob/master/anticaptcha_examples/anticaptcha_control_example.py) Краткий пример: ```python from python3_anticaptcha import AntiCaptchaControl -# Введите ключ от сервиса AntiCaptcha, из своего аккаунта +# Введите ключ от сервиса AntiCaptcha, из своего аккаунта. Anticaptcha service key. ANTICAPTCHA_KEY = "" -# Возвращается строка c балансом +# Возвращается строка c балансом. Balance info. user_answer = AntiCaptchaControl.AntiCaptchaControl(anticaptcha_key = ANTICAPTCHA_KEY).get_balance() print(user_answer) @@ -100,4 +110,4 @@ print(user_answer) *** Кроме того, для тестирования различных типов капчи предоставляется [специальный сайт](http://85.255.8.26/), на котором собраны все имеющиеся типы капчи, с удобной системой тестирования ваших скриптов. -Присутствуют [примеры работы с библиотекой](https://github.com/AndreiDrang/python-rucaptcha/tree/master/CaptchaTester), которые демонстрируются на примере данного сайта \ No newline at end of file +Some examples you can test with our [web-site](http://85.255.8.26/). diff --git a/anticaptcha_examples/anticaptcah_image_to_text_example.py b/anticaptcha_examples/anticaptcah_image_to_text_example.py index 0f0a45b..d9026d0 100644 --- a/anticaptcha_examples/anticaptcah_image_to_text_example.py +++ b/anticaptcha_examples/anticaptcah_image_to_text_example.py @@ -3,65 +3,76 @@ import asyncio from python3_anticaptcha import ImageToTextTask ANTICAPTCHA_KEY = "" -# Пример который показывает работу антикапчи при решении капчи-изображением и сохранением её в качестве обычного файла в -# папку -result = ImageToTextTask.ImageToTextTask(anticaptcha_key = ANTICAPTCHA_KEY, save_format = 'const')\ - .captcha_handler('http://85.255.8.26/static/image/common_image_example/800070.png') -print(result) - """ Данная библиотека реализует два различных метода для сохранения изображений(для последующей их передачи сервису): 1. В качестве временного файла, параметр задаётся по умолчанию, но для того что бы его объявить явно нужно передать save_format = 'temp' . 2. В качестве обычного файла, для этого нужно передать: -save_format = 'const' . +save_format = 'const' . !!!Используйте данный параметр при работе через Windows. USE IT ON WINDOWS!!! """ +# Пример который показывает работу антикапчи при решении капчи-изображением и сохранением её в качестве обычного файла в +# папку. +# Example for working with captcha-image link, and save it like a usual file in system. + +result = ImageToTextTask.ImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY, save_format='const') \ + .captcha_handler(captcha_link='http://85.255.8.26/static/image/common_image_example/800070.png') +print(result) + # Пример который показывает работу антикапчи при решении капчи-изображением и сохранением её в качестве ВРЕМЕННОГО файла -result = ImageToTextTask.ImageToTextTask(anticaptcha_key = ANTICAPTCHA_KEY)\ - .captcha_handler('http://85.255.8.26/static/image/common_image_example/800070.png') +# Протестировано на Линуксах. Не используйте данный вариант на Windows! Возможно починим, но потом. +# Example for working with captcha-image like a temporary file. Tested on UNIX-based systems. Don`t use it on Windows! +result = ImageToTextTask.ImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY) \ + .captcha_handler(captcha_link='http://85.255.8.26/static/image/common_image_example/800070.png') print(result) # Пример асинхронного запуска решения капчи +# AsyncIO example. Work with constant-saved file. async def run(): - try: - resolve = await ImageToTextTask.aioImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY, save_format='const')\ - .captcha_handler('http://85.255.8.26/static/image/common_image_example/800070.png') - - print(resolve) - except Exception as err: - print(err) + try: + resolve = await ImageToTextTask.aioImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY, save_format='const') \ + .captcha_handler(captcha_link='http://85.255.8.26/static/image/common_image_example/800070.png') + + print(resolve) + except Exception as err: + print(err) if __name__ == '__main__': - loop = asyncio.get_event_loop() - loop.run_until_complete(run()) - loop.close() + loop = asyncio.get_event_loop() + loop.run_until_complete(run()) + loop.close() """ -Пример работы со скачанными файлами изображений капчи +Пример работы со скачанными файлами изображений капчи. +Example for working with downloaded file. """ # Синхронный # папка в которой находится изображение, один из вариантов написания +# The path to the file must be transferred in this format to the method captcha_file = r'D:\Python\933588.png' # так же есть возможность передать так: +# or in this format: # captcha_file = 'D:\/Python\/933588.png' -result = ImageToTextTask.ImageToTextTask(anticaptcha_key = ANTICAPTCHA_KEY).captcha_handler(captcha_file = captcha_file) +result = ImageToTextTask.ImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY).captcha_handler(captcha_file=captcha_file) print(result) + # Асинхронный пример +# AsyncIO example. async def run(): - try: - resolve = await ImageToTextTask.aioImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY).captcha_handler(captcha_file=captcha_file) - - print(resolve) - except Exception as err: - print(err) + try: + resolve = await ImageToTextTask.aioImageToTextTask(anticaptcha_key=ANTICAPTCHA_KEY).captcha_handler( + captcha_file=captcha_file) + + print(resolve) + except Exception as err: + print(err) if __name__ == '__main__': - loop = asyncio.get_event_loop() - loop.run_until_complete(run()) - loop.close() \ No newline at end of file + loop = asyncio.get_event_loop() + loop.run_until_complete(run()) + loop.close() diff --git a/setup.py b/setup.py index 58a08d7..5528b42 100644 --- a/setup.py +++ b/setup.py @@ -24,5 +24,5 @@ setup( python-library python-anticaptcha anticaptcha-client''', - python_requires='>=3.3', + python_requires='>=3.5.0', )