Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  1 2 3 >  
Ответить в эту темуОткрыть новую тему
> Распознавание капчи (AntiGate.com)
DarkMaster
сообщение 6.11.2014, 17:40
Сообщение #1


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Создана дллка для работы с рапознованнием капчи.
Прикрепленный файл  AntiGate_plugin.zip ( 126,81 килобайт ) Кол-во скачиваний: 2508

Инструкция
Код
AntiGate.dll - это плагин, который позволяет взаимодействовать UOPilot с сервисом AntiGate.com.
Данный сервис предназначен для распознавания текста с картинок(капчи), которые обычно необходимо вводить при регистрации.
Плагин необходимо поместить в папку Plugins рядом с uopilot.exe. Для работы требуются установленные библиотеки c++:
http://www.microsoft.com/ru-ru/download/details.aspx?id=40784
В плагине содержится 3 функции:
set $var AntiGate.SetKey (ваш_ключ)
set %sendImg AntiGate.SendImage ( *путь* доп_параметр=значение доп_параметр=значение ...)
set %getResult AntiGate.GetResult (id_изображения)



set $key AntiGate.SetKey (ваш_ключ)
Задание ключа для работы с сервисом.
    $key - переменная, в которую помещается результат работы(текущий ключ).
    ваш_ключ - ваш ключ от сервиса AntiGate
Пример:
    set $key  AntiGate.SetKey (12345678901234567890123456789012)
    log $key


    
set %sendImg AntiGate.SendImage ( *путь* доп_параметр=значение доп_параметр=значение)
Отправка изображения на сервис.
    %sendImg - массив в который помещается результат работы.
    %sendImg [1] - флаг результата работы:
        OK - загрузка прошла успешно.
        ERROR - произошла ошибка.
    %sendImg [2] - id_изображения, если оно успешно загружено, либо текст ошибки.
    *путь* - адрес картинки на вашем компьютере. Не ссылка на нее в интернете, а именно файл на вашем жестком диске. Адрес обособляется '*'.
    доп_параметр - дополнительный параметр, поддерживаемый сервисом AntiGate.
    'значение'- значение дополнительного параметра.
Пример:
    set %sendImg  AntiGate.SendImage (*d:\captcha.jpg* regsense=1 phrase=1)
    log %sendImg [1]
    log %sendImg [2]
    
Список дополнительный параметров доступных на сервисе:
phrase  0|1
    0 = дефолтное значение (одно слово)
    1 = капча имеет два слова
regsense  0|1
    0 = дефолтное значение (регистр не имеет значения)
    1 = капча чувствительна к регистру
numeric  0|1
    0 = дефолтное значение
    1 = капча состоит только из цифр
    2 = Капча не имеет цифр
calc  0|1
    0 = дефолтное значение
    1 = математическое действие из цифр на капче
min_len  0 .. 20
    0 = дефолтное значение
    >0 = минимальная длина текста на капче, которую работник должен ввести
max_len  0 .. 20
    0 = дефолтное значение (не ограничено)
    >0 = максимальная длина текста на капче, которую работник должен ввести
is_russian  0|1
    0 = дефолтное значение
    1 = показать капчу работнику со знанием русского языка



set %getResult AntiGate.GetResult (id_изображения)
Возвращает результат распознавания.
    id_изображения - id полученный при отправке изображения с помощью AntiGate.SendImage().
Функция возвращает:
     %getResult [1] - флаг результата работы:
        ОК - капча успешно распознана.
        NOT_READY - результат еще не готов, попробуйте чуть позже.
        ERROR - произошла ошибка.
    %getResult [2] - текст капчи, если она была распознана, либо текст ошибки.
Пример:
    set %getResult AntiGate.SendImage (%sendImg [2])
    log %getResult [1]
    log %getResult [2]
    
    
    
Пример готового скрипта:

set linedelay 0
log mode compact

:start
    // Воодим ключ от сервиса.
    // Требуется выполнить всего 1 раз.
    set $key  AntiGate.SetKey (12345678901234567890123456789012)
    log Текущий ключ: $key

    // Обнуляем прошлый результат.
    set %sendImg [1] ""
    // Загрузка изображения может быть не удачной,
    // например, из-за остустствия слотов.
    // Повторяем попытки загрузить изображение
    // пока не будет дан положительный ответ от сервера.
    while %sendImg [1] <> "OK"
        set %sendImg  AntiGate.SendImage (*d:\captcha.jpg* regsense=1 phrase=1)
        log Статус отправки изображения: %sendImg [1]
        log Содержимое ответа на отправку изображения: %sendImg [2]
    end_while

    // Обнуляем прошлый результат.
    set %getResult [1] ""
    // Запрашиваем результат распознования.
    while %getResult [1] <> "OK"
        wait 5s
        set %getResult AntiGate.GetResult (%sendImg [2])
        log Статус получения результата: %getResult [1]
        log Содержимое ответа на запрос результата: %getResult [2]
    end_while
stop_script


Так же вам может пригодиться сохранение части экрана для последующей отправки на сервис:
'PrintScreen <handle> <x> <y> <width> <height> <path>'
Первым параметром указывается хэндл рабочего окна, либо 0 - весь экран. Если 'width' или 'height' =0 то берется максимально возможное значение.
printscreen workwindow 100 150 80 40 d:\captcha.jpg

Для работы требует установленные библиотеки c++.
На всякий случай прицепляю к сообщению.
Прикрепленный файл  vcredist_x86.zip ( 6,2 мегабайт ) Кол-во скачиваний: 2351
Прикрепленный файл  vcredist_x64.zip ( 6,86 мегабайт ) Кол-во скачиваний: 2156


Сообщение отредактировал DarkMaster - 6.11.2014, 17:46


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 8.11.2014, 9:48
Сообщение #2


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Круто. Спасибо!


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 8.11.2014, 14:18
Сообщение #3


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



рад стараться)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Korsar2888
сообщение 22.11.2014, 1:23
Сообщение #4


**

Neophyte
Сообщений: 33
Регистрация: 23.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.846
Возраст: 19



Да прикольно, спасибо большое)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 8.12.2014, 0:34
Сообщение #5


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



подскажите , как из скрипта AntiGate ....вывести результат в саму капчу. заранее спасибо.


:start
// Воодим ключ от сервиса.
// Требуется выполнить всего 1 раз.
set $key AntiGate.SetKey (12345678901234567890123456789012)
log Текущий ключ: $key

// Обнуляем прошлый результат.
set %sendImg [1] ""
// Загрузка изображения может быть не удачной,
// например, из-за остустствия слотов.
// Повторяем попытки загрузить изображение
// пока не будет дан положительный ответ от сервера.
while %sendImg [1] <> "OK"
set %sendImg AntiGate.SendImage (*d:\captcha.jpg* regsense=1 phrase=1)
log Статус отправки изображения: %sendImg [1]
log Содержимое ответа на отправку изображения: %sendImg [2]
end_while

// Обнуляем прошлый результат.
set %getResult [1] ""
// Запрашиваем результат распознования.
while %getResult [1] <> "OK"
wait 5s
set %getResult AntiGate.GetResult (%sendImg [2])
log Статус получения результата: %getResult [1]
log Содержимое ответа на запрос результата: %getResult [2]
end_while
stop_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 8.12.2014, 7:32
Сообщение #6


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
подскажите , как из скрипта AntiGate ....вывести результат в саму капчу. заранее спасибо.

Поясните, что вы имели ввиду? Как ввести полученный результат в поле?
Команды нажатия клавиш:
sendex, send, send217.
Наиболее простой способ кликнуть мышью в поле и использовать sendex.
Код
left x_координата y_коорината
sendex %getResult [2]


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 8.12.2014, 13:46
Сообщение #7


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



Цитата(DarkMaster @ 8.12.2014, 6:32) *

Поясните, что вы имели ввиду? Как ввести полученный результат в поле?
Команды нажатия клавиш:
sendex, send, send217.
Наиболее простой способ кликнуть мышью в поле и использовать sendex.
Код
left x_координата y_коорината
sendex %getResult [2]


Dark благадарю ,получилось. (IMG:style_emoticons/default/smile.gif) только как убрать пробел в ответе....пример -captcha:Q3TR ,а пишет Q3 TR... и так в каждом ответе
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 8.12.2014, 14:47
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Скорее всего вы задаете флаг нескольких слов в капче. Можно увидеть строку, которой отправляете?
Так же можно использовать string_replace. В описании перепутаны местами исходная и искомая строка этого оператора. По крайней мере были...


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
portos
сообщение 8.12.2014, 15:00
Сообщение #9


****

Apprentice
Сообщений: 181
Регистрация: 6.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.157



Цитата(DarkMaster @ 8.12.2014, 13:47) *

Скорее всего вы задаете флаг нескольких слов в капче. Можно увидеть строку, которой отправляете?
Так же можно использовать string_replace. В описании перепутаны местами исходная и искомая строка этого оператора. По крайней мере были...

использую скрипт приведённый выше,вставляю свой путь к картинке, свой ключ ...капча состоит из букв и цифр.ответ приходит правильный ,но с пробелом в середине капчи
всё разобрался ...в строке set %sendImg AntiGate.SendImage (*D:\captcha\captcha.jpg* regsense=1 phrase=0) было вместо 0 стояло 1 , т.е. две фразы.спс вам и сайту за помощь !
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 8.12.2014, 20:20
Сообщение #10


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Почитайте в 1 посте про параметры. Многое прояснится. На сервисе кстати есть ограничение по количеству и сочетанию параметров, лишнее лучше не ставить.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 13.12.2014, 0:18
Сообщение #11


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



код

Код

set linedelay 0
log mode compact

:start
    // Воодим ключ от сервиса.
    // Требуется выполнить всего 1 раз.
    set $key  AntiGate.SetKey (yutuytuyguuytvkyutvuytcukytcuytyr)
    log Текущий ключ: $key

    // Обнуляем прошлый результат.
    set %sendImg [1] ""
    // Загрузка изображения может быть не удачной,
    // например, из-за остустствия слотов.
    // Повторяем попытки загрузить изображение
    // пока не будет дан положительный ответ от сервера.
    while %sendImg [1] <> "OK"
        set %sendImg  AntiGate.SendImage (*C:\Users\Downloads\captcha.jpg* regsense=0 phrase=0 min_len=4 max_len=5)
        log Статус отправки изображения: %sendImg [1]
        log Содержимое ответа на отправку изображения: %sendImg [2]
    end_while

    // Обнуляем прошлый результат.
    set %getResult [1] ""
    // Запрашиваем результат распознования.
    while %getResult [1] <> "OK"
        wait 5s
        set %getResult AntiGate.GetResult (%sendImg [2])
        log Статус Получения результата: %getResult [1]
        log Содержимое Ответа на запрос результата: %getResult [2]
    end_while
    left 422, 297
    wait 5s
sendex %getResult [2]
stop_script


при тестах во вкладке "Ещё" паузы выставил 0 - 300мс, ОС w7 64
в логе результат правильный, курсор ставим, но ничего не впечатывает. Что не так? (IMG:style_emoticons/default/unsure.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.12.2014, 8:19
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Курсор точно ставится? Попробуйте kleft.
Так же попробуйте запустить скрипт, потом самостоятельно тыкнуть курсором на поле ввода. Скрипт:
Код
wait 5s
sendex qwe


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 13.12.2014, 13:25
Сообщение #13


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



Цитата(DarkMaster @ 13.12.2014, 8:19) *

Курсор точно ставится? Попробуйте kleft.
Так же попробуйте запустить скрипт, потом самостоятельно тыкнуть курсором на поле ввода. Скрипт:

kleft попробую, кстати особенности данного клика не нашел нигде в хелпах, что дает "k" в команде
курсор ставится
проблема именно с sendex я и в блокноте пробовал
и задержками играл, и операцирнки в "ещё" менял
___
попробовал с kleft в блокноте, работает! тогда пните меня к описанию команды, пжлста :-)
сейчас допишу в скрипт захват картинки и буду тестировать на антикапче
спасибо!!!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.12.2014, 13:46
Сообщение #14


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



kleft это немного иной тип эмуляции. В частности он не работает с перекрытыми окнами, кликает в окно на поверхности. Остальное все тоже самое. Скорее всего поле ввода просто имеет другой хендл и из-за этого не срабатывал kleft либо приложение просто не восприимчиво к left.

Сообщение отредактировал DarkMaster - 13.12.2014, 13:46


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 13.12.2014, 14:35
Сообщение #15


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



Цитата(DarkMaster @ 13.12.2014, 13:46) *

Скорее всего поле ввода просто имеет другой хендл и из-за этого не срабатывал kleft либо приложение просто не восприимчиво к left.

в том то и дело, что хендл назначался и скриптом, и в ручную, я в блокноте же тоже пробовал
сейчас с kleft в textbox капчи впечатывается и нажимает кнопку отправки, супер!
---------
сейчас новая проблему не пойму

Код

move 1449, 275 abs //прям над окошком с качей
set workwindow windowfromcursor
set #z workwindow
set workwindow #z
PrintScreen #z 404, 222 533, 274 C:\Users\скрыто\Downloads\captcha.jpg
wait 5s
stop_script

Прикрепленное изображение результат
Прикрепленное изображение с рабочего окна

_____
:-)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.12.2014, 17:06
Сообщение #16


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
сейчас новая проблему не пойму

Попробуй координаты поменять.
Так же можно попробовать в качестве хенда указать 0.


[spоiler="Название"]
[cоde]
тут код
[/cоde]
[/spоiler]
Буквы 'o' заменены кириллицей.

Сообщение отредактировал DarkMaster - 13.12.2014, 17:06


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 13.12.2014, 17:39
Сообщение #17


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



Цитата(DarkMaster @ 13.12.2014, 17:06) *

Попробуй координаты поменять.
Так же можно попробовать в качестве хенда указать 0.
[spоiler="Название"]
[cоde]
тут код
[/cоde]
[/spоiler]
Буквы 'o' заменены кириллицей.

все менял, один раз помогло(почимуто) ребут юПилота
пока отдохну от этой заморочки
про спойлер только что подглядел в другой теме, спасибо
с ним имхо удобнее и тему не растягивает
сейчас хочу победить массивы (IMG:style_emoticons/default/blink.gif) интересно, но оч трудно в голове укладывается когда пытаюсь самостоятельно написать, хотя очень доходчиво расписано в соответсвуещей теме
в любом случае спасибо ребяты (IMG:style_emoticons/default/rolleyes.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 14.12.2014, 16:49
Сообщение #18


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



Цитата(Sashka. @ 13.12.2014, 14:35) *

сейчас новая проблему не пойму

Код

move 1449, 275 abs //прям над окошком с качей
set workwindow windowfromcursor
set #z workwindow
set workwindow #z
PrintScreen #z 404, 222 533, 274 C:\Users\скрыто\Downloads\captcha.jpg
wait 5s
stop_script

Прикрепленное изображение результат
Прикрепленное изображение с рабочего окна


у меня тут мысль появилась... А не мог ля чего натворить после экспериментов с InqSoft Window Scanner?
собственно с того дня и стал принтскрин квадраты Малевича малевать (IMG:style_emoticons/default/unsure.gif) (IMG:style_emoticons/default/huh.gif)
Наверняка же он в Виндовс не сохранил свои настройки? Так то я врордь чего двигал, растягивал на теже параметры возращал, ну а вдруг не все и всеже гдет записалось в ОСи?
странно все это (IMG:style_emoticons/default/mellow.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 14.12.2014, 18:09
Сообщение #19


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27708
Пользователь №: 11.279



Цитата
А не мог ля чего натворить после экспериментов с InqSoft Window Scanner?

Не думаю. Я очень долго мучался с этой хренью. Помогло только изменение координат.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sashka.
сообщение 14.12.2014, 18:55
Сообщение #20


***

Novice
Сообщений: 89
Регистрация: 4.12.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 17.151
Возраст: 48



Цитата(DarkMaster @ 14.12.2014, 18:09) *

Не думаю. Я очень долго мучался с этой хренью. Помогло только изменение координат.

если можно, расскажите по подробней, пжлст. я пробовал всякие варианты, вплоть до printscreen 1 0 0 0 0
раньше же флеешь фоткался без проблем. сейчас же все окно если привязываешься к заголовку.
надо бы попробовать хотя бы так.
Код

PrintScreen 722066 0 0 1917, 1035 $myPatch
stop_script 38


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V  1 2 3 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 15:43
Designed by Nickostyle