Распознание текстовой капчи

memmori

Client
Регистрация
10.04.2013
Сообщения
51
Благодарностей
10
Баллы
8
Здравствуйте! Подскажите, как средствами Zenno распознать текстовую каптчу вида "двоечка восьмерочка шecтepka oдин пятерочка". Хотябы в ручном режиме. Покапался и наткнулся на эту тему http://zennolab.com/discussion/showthread.php?7860-Alert-C&p=45706&viewfull=1#post45706. Как можно передать на эту форму свой текст + выпарсенное в переменную значение?
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
можно, но это надо свою форму делать, тут где то я писал как сделать листбокс на шарпе по аналогии и форму делать...
Но лично я бы на вашем месте пошел другим путем, если уж очень нужно... не думаю что на каждую цифру у них есть больше 5-6 написаний следовательно алгоритм будет такой
1 - бьем предложение с капчей на слова
2 - берем слово - ищем совпадение по базе (можно даже через свич извернуться, хотя регулярками удобнее)) )- получаем значение слова
3 - собираем наши значения в строку - и вставляем в форму.
 

memmori

Client
Регистрация
10.04.2013
Сообщения
51
Благодарностей
10
Баллы
8
у них на каждую цифру по минимум 3 написания =) сидел и считал...
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
ну и вот))) 10 цифр - 30 слов... имхо не гигантские значения....
Написали бота чтобы капч брал сотни 4, разбили все по словам, скинули в список, удалили дубли и вот... готово)))
 

memmori

Client
Регистрация
10.04.2013
Сообщения
51
Благодарностей
10
Баллы
8
ну, ради одного шаблона, это геморно) а можно ссылку на Вашу статью?
 
Последнее редактирование:

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 883
Баллы
113
Можно на антигейт отправлять такую каптчу. Только нужно обозначить, чтобы отправляли русскоязычным пользователям + ответ в числах.
is_russian = 1 & numeric = 1

Так кажется. В АПИ антигейта посмотрите как точно пишется.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
да слишком жирно, наверное, такую капчу отправлять...
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 883
Баллы
113
Ну кому что.
Можно посидеть, потратить пол дня на написание модуля по разгадыванию. А можно потратить пару долларов в сутки и работать дальше.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
Ну пол-дня это вы перегнули..... минут 40 имхо
+ экономия пары баксов в сутки
+ новый навык, который пригодится в дальнейшем
+ высокая скорость работы проекта
+ высокая точность
ну и еще кусочек приятных но незначительных плюшек)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 883
Баллы
113
минут 40 - это знающему человеку (может и меньше кстати).
А человеку, далёкому от этого, может и нескольких дней не хватить.

П.с. Я как бы не уговариваю на антигейт, ТС сам решит как делать )
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 310
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

капча идет текстом который можно спарсить или как текст на картинке?
Если использовать пример ТС, то там в капче подмешаны визуально одинаковые символы ru>en.

С# снипет для распознавания

C#:
string input = project.Variables["input"].Value;
input = input.Trim();
input = input.Replace('o', 'о');
input = input.Replace('c', 'с');
input = input.Replace('e', 'е');
string result = "";
string[] arr = input.Split(' ');
string[] mask = new[] { "н", "о", "дв", "т", "ч", "п", "ш", "с", "в", "де" };

foreach (string s in arr)
{
    for (int i = 0; i < mask.Length; i++)
    {
        if (s.StartsWith(mask[i]))
        {
            result += i;
        }    
    }
}
return result;
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 883
Баллы
113
капча идет текстом который можно спарсить или как текст на картинке?
Если использовать пример ТС, то там в капче подмешаны визуально одинаковые символы ru>en.

С# снипет для распознавания

C#:
string input = project.Variables["input"].Value;
input = input.Trim();
input = input.Replace('o', 'о');
input = input.Replace('c', 'с');
string result = "";
string[] arr = input.Split(' ');
string[] mask = new[] { "н", "о", "д", "т", "ч", "п", "ш", "с", "в", "де" };

foreach (string s in arr)
{
    for (int i = 0; i < mask.Length; i++)
    {
        if (s.StartsWith(mask[i]))
        {
            result += i;
        }
      
    }
}
return result;
Ну ты крут! Не перестаешь удивлять своими решениями! :-)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
893
Баллы
113
Плюсану) Мне в голову не приходило ограничиться первыми символами))))))
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 627
Благодарностей
8 768
Баллы
113
да, суперкласс! :dm::-)
тоже плюсанул..
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)