Перейти к содержимому



ЗАРАБАТЫВАЙ НА
>>ПРОДАЖЕ ШАБЛОНОВ И ПРИВЛЕЧЕНИИ РЕФЕРАЛОВ<<
>>ПОИСКЕ СЛИВЩИКОВ ШАБЛОНОВ<<

Фотография

Полный FAQ по функциям


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 14:01

============================= Вывод результата ============================

[DISPLAY][] -отобразит данные в юзер инфо.

[LOG_DISPLAY][] запишет данные в лог

[DISPLAY_REQUEST] - Откроет окно с содержимым ответа от сервера

[DISPLAY_BUFFER] - отобразит в логе все что есть в буфере

============================= Вывод результата ============================

============================= Переменные ============================

[DEFINE] - создание константной переменной которую нельзя изменить

[DEFINE][CONSTVAR][12345]

 

[VAR] - создание переменной

[VAR][$data][text]

 

К переменным можно применять математические действия, + - * /

[VAR][$int][5]
[VAR][$int][+][45]
[LOG_DISPLAY][$int]  // результат 50
[VAR][$int][5]
[VAR][$int2][51]
[VAR][$int][+][$int2]
[LOG_DISPLAY][$int]  // результат 56
[VAR][$int][5]
[VAR][$int2][2]
[VAR][$int3][0]
[VAR][$int][*][$int2$int3] //5 * 20
[LOG_DISPLAY][$int]  // результат 100

========Важно!=======

При действии в результате которого получается остаток после запятой могут возникнуть следующие проблемы

[VAR][$int][5]
[VAR][$int2][2]
[VAR][$int][/][$int2] 
[LOG_DISPLAY][$int]  // результат 2

Поэтому если вы хотите получить число с точкой(double) нужно чтобы одно из чисел было также с точкой(double)

[VAR][$int][5.0]
[VAR][$int2][2]
[VAR][$int][/][$int2] 
[LOG_DISPLAY][$int]  // результат 2.5

========Важно!=======

 

============================= Переменные ============================

============================= Условия (if) =============================

[IF][] - начало условия

[ENDIF] - конец условия

 

if имеет все стандартные операторы сравнения <  >  =  !=  >= <=

[VAR][$int][5]
[VAR][$int2][2]
[IF][$int>$int2]
[LOG_DISPLAY][SUCCESS]
[ENDIF]

также может использовать один числовой параметр как bool тоесть  0-false все что не ноль - true, если передать строку будет false

[VAR][$int][5]
[IF][$int]
[LOG_DISPLAY][SUCCESS]
[ENDIF]

============================= Условия (if) =============================

 

============================= Циклы  =============================

Циклы создаются при помощи 

[BREAK_POINT] и [GO_TO_BREAK_POINT]

тоесть когда шаблон попадает на функцию [GO_TO_BREAK_POINT] он возвращается туда где стоит [BREAK_POINT]


[VAR][$it][1]
[BREAK_POINT][name]
[VAR][$it][+][1]
[LOG_DISPLAY][$it]
[IF][$it<5]
    [GO_TO_BREAK_POINT][name]
[ENDIF]

Таr же функция  [GO_TO_BREAK_POINT] может принимать числовой параметр означающий - сколько раз ему вернутся к исходной точке, номер каждой итерации записывается в глобальную переменную $IT

[VAR][$i][1]
[BREAK_POINT]
[VAR][$i][+][$IT]
[LOG_DISPLAY][$i]
[GO_TO_BREAK_POINT][5]

============================= Циклы ==============================

 

 

============================= GET\POST ==============================

[GET][] -послать гет запрос

[POST][][] -послать пост запрос

[AJAX_GET][] -послать гет запрос + дополнительно запишутся заголовки нужные для подтверждения ajax запроса

[AJAX_POST][][] -послать пост запрос + дополнительно запишутся заголовки нужные для подтверждения ajax запроса

[POST_MULTIPART][][][] -послать пост запрос + загрузка файла

[GET][http://djoser-blog.ru/]
[POST][http://djoser-blog.ru/login.php][login=admin&pass=12345]
[POST_MULTIPART][http://djoser-blog.ru/login.php][name=vasya&old=34&file=!FILE!][fileoto.jpg]

Результат запроса все функции записывают в глобальную переменную $REQUEST_DATA

========Важно!=======

Программа сама сохраняет cookies переданные сайтом и хранит их до тех пор пока шаблон не будет остановлен( ни wait в статусе  а именно вручную остановлен)

========Важно!=======

============================= GET\POST  ==============================


  • 10

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================



#2 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 14:15

============================= Модификация запросов  ==============================

[SET_HOST][][] - функция для установки ip адресса для домена, это нужно когда сервер использует cloud защиту, но вам известен реальный ip адресс сервера, таким образом можно будет перенаправлять все  запросы на прямую на сервер без использования DNS которые ведут к cloud

[SET_HOST][djoser-blog.ru][9.55.26.57]

[SET_USER_AGENT][] - установить юзер агент

[SET_USER_AGENT][Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)] 

[REQUEST_TO_UTF] функция берет $REQUEST_DATA  и конвертирует содержимое в кодировку utf8 для нормального отображения и обработки

 

[SET_REFERER][] - Установить реффер

[SET_REFERER][https://www.google.com.ua/]

[SET_TIMEOUT][] - Установить timeout для ожидания соединения+чтения для сайта/прокси, по умолчанию тайм аут тот что указан в настройках.

[SET_TIMEOUT][30] 

[ADD_HEADER][] - Добавить дополнительные заголовки

[ADD_HEADER][X-Token: fgh76tfdty6r6bb76767bs4evs]

[DELL_ADDED_HEADER] - Удалить дополнительные заголовки

 

========Важно!=======

Функции AJAX_GET и AJAX_POST после использования автоматически удаляют дополнительные заголовки в том числе и установленные вами

========Важно!=======

 

[USE_PROXY][][] - Использовать для подключения указанный прокси, первый параметр - тип прокси, HTTP,HTTPS,SOCKS5, второй параметр адресс:порт

 [USE_PROXY][HTTPS][13.67.55.123:3132]
 [USE_PROXY][HTTPS][13.67.55.123:3132][Login:pass] 

После вызова функции все запросы будут идти через указанные прокси, прокси можно менять во время работы когда вам нужно или отключить

[DELL_PROXY] - Отменить использование указанного прокси

 

[SET_COOKIE][][] - Функция для установки своих cookies в програму, первый параметр - домен, второй имя куки=значение

[SET_COOKIE][djoser-blog.ru][phpsessid=76rybdrhr6hrd6vr6vhdrvj]

[CLEAR_ALL_COOKIES] - Удалить все куки

 

 

[SAVE_COOKIE] - Сохраняет все куки приобретенные за время работы шаблона

[LOAD_COOKIE] - Загружает куки сохраненные шаблоном

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

Тоесть в начале шаблона загружаем куки [LOAD_COOKIE] а в конце сохраняем [SAVE_COOKIE]

 

============================= Модификация запросов   ==============================


  • 8

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#3 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 16:04

============================= Парсинг   ==============================

 

[PARSE][][] - функция для парсинга, по умолчанию парсит из $REQUEST_DATA но можно указать еще одну пару скобок и предать в ней свою переменную

[PARSE][<html>][</html>] - парсинг из $REQUEST_RESULT 
[PARSE][<html>][</html>][$var] - парсинг из $var 

Сама функция парсит значение между данными(тегами) указанными в скобках, например вам нужно спарсить баланс, смотрим исходный код, нас интересует HTML теги

<div class="line"><font color="green">1.99</font>.р </div>

Чтобы спарсить 1.99 достаточно написать

[PARSE][green">][<]

и тогда в буффер запишется 1.99

 

 

========Важно!=======

Если на сайте есть еще одинаковые теги то он спарсит их все, например

Баланс на покупки <div class="line"><font color="green">1.99</font>.р </div>
Баланс на вывод <div class="line"><font color="green">4.00</font>.р </div>
Баланс серфинга<div class="line"><font color="green">16.45</font>.р </div>

то после вызова 

[PARSE][green">][<]

в буффере запишутся все данные что подходят данному условию

1.99

4.00

16.45

 

========Важно!=======

 

Далее функция [REG_PARSE][] - тоже парсинг но по регулярным выражениям, что такое регулярки читайте и ищите в сети, ну для совместимости http://www.doc.cross....x/qregexp.html

Аналогично функции  PARSE парсит все нахождения которые подходят по условию, и таже можно парсить из переменной

[REG_PARSE][\[0-9\]{1,6}] - парсинг из $REQUEST_RESULT
[REG_PARSE][\[0-9\]{1,6}][$var] - парсинг из $var 

========Важно!=======

Все квадратные скобки которые используются в регулярном выражении нужно экранировать слешем, иначе это приведет к синтаксической ошибке

========Важно!=======

 

========Важно!=======

Функции для парсинга записывают результат работы в глобальную переменную $bool

========Важно!=======

============================= Парсинг   ==============================

 

============================= Работа с буффером   ==============================

Функции для парсинга записывают данные с именами $1,$2,$3 и тд, тоесть с порядковым номером следующий записи, если у вас уже есть записи в буффере то они будут записаны с последующей нумерацией, поэтому не забывайте очищать буффер когда он не нужен, чтобы самим не запутаться.

 

[CLEAR_BUFFER] - очистить буффер

$SIZE_BUFFER - глобальная переменная которая хранит текущий размер  буффера.

[ADD_IN_BUFFER][][] - функция для записи своих данных в буффер

[ADD_IN_BUFFER][$var_buf1][123] 
[ADD_IN_BUFFER][$var_buf1][12e3] 

Для вывода\использования данных в буффере нужно указать имя значения(точно также как и с переменными)

[LOG_DISPLAY][$1]
[LOG_DISPLAY][$var_buf1]

============================= Работа с буффером   ==============================

 

============================= Буффер+циклы   ==============================

Покажу маленький фокус, может не сразу поймете, но понять надо.

Например задача, спарсить со страницы все id сайтов для серфинга, они хранятся в теге

<td "id"= '344'>

Парсим

[PARSE][id"='][']

Далее их все по очереди нужно открыть, для этого используем цикл

[BREAK_POINT]
[GET][http://site.ru/serf.php?id=$$IT]
[GO_TO_BREAK_POINT][$SIZE_BUFFER]

И так, что же это такое $$IT, программа по очереди заменяет переменные их значениями, сначала, глобальные переменные, потом ваши переменные, потом имена в буффере

тоесть $IT заменится  на ее значение, например 2, тогда у нас останится $2 а когда замена дойдет до буффера, то на месте $2 будет значения буффера которое хранится под именем $2 например 1234

============================= Буффер+циклы    ==============================


  • 11

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#4 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 16:50

============================= Работа с файлами    ==============================

 

[WRITE_IN_FILE][][] - Записать данные в файл, если файл не существует будет создан новый, если файл существует он будет перезаписан.

[WRITE_IN_FILE][file.txt][$REQUEST_DATA]

[ADD_TO_FILE][][] - Дописать данные в файл, если файл не существует будет создан новый.

[ADD_TO_FILE][file.txt][$var]

[READ_FILE_ALL][] - Считать данные с файла, данные будут записаны в $REQUEST_DATA

[READ_FILE_ALL][file.txt]

[READ_FILE_LINE][] - Считать данные с файла по строчно, каждая строка по отдельности допишется в буффер под именами очередности $1,$2,$3 и тд

[READ_FILE_LINE][file.txt]

[WRITE_BUFFER_IN_FILE][] - Записать буффер в файл

[WRITE_BUFFER_IN_FILE][result.txt]

[SAVE_CLEAR_REQUEST][] - Убрать заголовки из переменной $REQUEST_DATA и сохранить в файл

[SAVE_CLEAR_REQUEST][result.png]

============================= Работа с файлами    ==============================

 

============================= Строковые функции    ==============================

[TO_BASE64][] - Привести значение в base64 последовательность, результат запишет в буффер под именем $base64

[TO_BASE64][$text]

[FROM_BASE64][] - Расшифровать base64 последовательность, результат запишет в буффер под именем $base64

[FROM_BASE64][$base64_text]

[url_ENCODE][] - Зашифровать спец символы, результат запишет в буффер под именем $urlencode

[URL_ENCODE][$text]

[url_DECODE][] - Разшифровать стоку зашифрованую при помощи URL_ENCODE, результат запишет в буффер под именем $urldecode

[URL_DECODE][$text]

[MD5][] - Зашифровать данные по алгоритму md5, результат будет записан в буффер под именем $md5

[MD5][$text]

[GEN_PASSWORD][][] - Функция для генерации пароля, первый параметр условия для генерации, второй длина пароля, условия указываются через разделитель | ,результат выполнения функции сохранится в $gen_pass

NUMBER - числа, CHAR - символы, UPPER_CHAR - символы в верхнем регистре, SPECIAL_CHAR - спецыальные символы

[GEN_PASSWORD][NUMBER|UPPER_CHAR][12]

[IS_NUMERIC][]  - Функция проверяет является ли значение числом, результат запишет в $bool

[IS_NUMERIC][$var]

[SPLIT_STR][][] - Функция для разделения строки через сепаратор, например dohlaya@mail.ru:pass, запишет результат в $split1 и $split2, также запишет информацию о результате в $bool

[SPLIT_STR][:][dohlaya@mail.ru:pass]

[GET_CHAR][][] - Получить указанный символ в строке, первый параметр номер символа(начинается с 1), второй сама строка,результат запишет в $char

[GET_CHAR][2][text]

[RAND][][] - Функция для генерации случайного числа, Результат запишет в буффер под именем $rand

[RAND][1][10]

============================= Строковые функции    ==============================


  • 6

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#5 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 17:04

============================= Дополнительные функции    ==============================

{{ }} - ковычки, используются для подсветки, можно использовать как комментарии, вообще написание где  либо какого текста не является ошибкой,

[GET][]
{{ комментарий }}
[GET][]
[POST][][] {{ комментарий }} 

 [PLAY_SOUND][] - Проиграть указанную звуковую дорожку

[PLAY_SOUND][sound/sound.mp3]

[EXIT_TASK] - Завершить работу шаблона

 

[REPEAT_TASK] - Начать выполнять шаблон сначала

 

[VERSION][][] - Проверить версию шаблона указанную автором, первый параметр версия(можно указывать что угодно, идет банальная порверка на совпадение текста), второй параметр имя txt файла, все шаблоны хранятся тут http://djoser-blog.ru/truepaste/ там же во время публикации и можно получить имя файла для версии

[VERSION][1.0][teaser.bz-238f133de5b8d9a16f900bb094c26f6b.txt] 

[SLEEP][] - Остановить работу шаблона на определенное количество секунд

[SLEEP][10]

[SET_MODEL_SETTINGS][] - Установить настройки для шаблона

ERROR_EXIT - при возникновении ошибки закончить работу шаблона

ERROR_REPEAT - при возникновении ошибки начать работу шаблона заново

ERROR_CONTINUE - при возникновении ошибки продолжить работу шаблона

WRITE_LOG - вести лог работы шаблона

[SET_MODEL_SETTINGS][ERROR_EXIT] 

[SET_INCOM][] - Указать вырученный за сегодня доход, для отображения и подсчета в таблице дохода, для обнуления баланса на сегодняшний день используйте SET_NULL

[SET_INCOM][13.89]
[SET_INCOM][SET_NULL]

[IMAP_COMMAND][][][] - Подключение к почтовому сервису по протоколу IMAP и выполнение команды, результат выполнения команды запишется в буффер, так же в $bool

Пример:[IMAP_COMMAND][imap.gmail.com:993][login:pass][CONNECT]

CONNECT- проверить подключение 

READ_UNSEEN_LETTER - считать непрочитанные письма

 

 

 

============================= Дополнительные функции    ==============================


  • 8

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#6 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 17:20

============================= Работа с браузером    ==============================

 

Единственное зачем тут может пригодится браузер - это ручная авторизация(из-за рекапчи)

работа с браузером начинается с его открытия

[OPEN_BROWSER_WINDOW]

и заканчивается его закрытием

[CLOSE_BROWSER_WINDOW]

 

окно можно открыть с дополнительным указание юзер агента

[OPEN_BROWSER_WINDOW][юзер агент]

обычный вызов функции вставит ваш стандартный юзер агент что вы указывали в настройках.

[OPEN_BROWSER_WINDOW]

 

А теперь важно!!! ни в коем случае сами не закрывайте окно браузера, только программно. при помощи [CLOSE_BROWSER_WINDOW] 

PS: вообще его закрыть невозможно, так как там заблокирована кнопка закрытия, но вдруг..... вы как-то умудритесь)) или на виндовс8 или 10 она вдруг почему-то окажется доступной.

 

Еще, на одно задание одно окно браузера, повторный вызов [OPEN_BROWSER_WINDOW] - ничего не даст, и не забудьте в программе его закрыть, ато так и останется висеть пока вы сами не остановите задание. 

 

функции minimize maximize - сворачивают разворачивают окно браузера.

 

[SET_COOKIE_FROM_BROWSER] [GET_COOKIE_FROM_BROWSER]

поясняю, в программе хранятся куки отдельно от куков браузера, для того чтобы их синхронизировать( скопировать ) из програмы в браузер или на оборот, используйте эти функции.

[SET_COOKIE_FROM_BROWSER][www.google.com]
[GET_COOKIE_FROM_BROWSER][www.google.com]

[OPEN_URL] - открыть сайт, программа будет ждать полной загрузки сайта, 

[OPEN_URL][http://djoser-blog.ru]

[GET_URL] - получить адресс в адресной строке браузера, сохраняет его в буффер под именем $url

[GET_HTML] - получить исходный код страницы открытой в браузере, сохраняет результат в $REQUEST_DATA 

 

[EVAL_JAVASCRIPT] - выполнить джаваскрип код в браузере, 

[EVAL_JAVASCRIPT][alert("hello world");]

========Важно!=======

Пример написания шаблона для ручной авторизации

[OPEN_BROWSER_WINDOW]

[OPEN_URL][http://rewbux.com/login]
[EVAL_JAVASCRIPT][document.getElementsByName("login")\[0\].value = "$GLOBAL_EMAIL"; document.getElementsByName("password")\[0\].value = "$GLOBAL_PASS";]

[BREAK_POINT]
[GET_URL]
[IF][$url!=http://rewbux.com/account]
[SLEEP][5]
[GO_TO_BREAK_POINT]
[ENDIF]
[GET_COOKIE_FROM_BROWSER][rewbux.com]
[CLOSE_BROWSER_WINDOW]
[CLEAR_BUFFER]

Что тут происходит:

1) Открываем браузер

2) Джавоскриптом заполняем поля логин и пароль вашими данными, для того чтобы не делать этого каждый раз руками

3) А дальше мы в цыкле проверяем адресную строку браузера каждые 5 секунд, если адресная строка = http://rewbux.com/account - тоесть мы авторизовались, мы берем куки сайта и закрываем браузер.

 

========Важно!=======

 

 

============================= Работа с браузером    ==============================


  • 6

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#7 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 28 Октябрь 2016 - 18:19

============================= Работа с капчей    ==============================

 

[RUCAPTCHA][][] - Функция для отправки капчи на разшифровку на сайт rucaptcha.com, первый параметр ключ рукапчи, второй путь к ней

[RUCAPTCHA][a000vhujfgyujgyytuygugy26bf][http://byketu.ru/captcha.php]

Результат запишет в буффер под именем $captcha а также в $1 для совместимости со старыми шаблонами

Также можно отправить жалобу на неправильно разгаданную капчу

[RUCAPTCHA][a000vhujfgyujgyytuygugy26bf][REPORT]

[CAPTCHA_PROEVOLITION][] - Функция для капчи в движках ProEvolution, принимает в параметре имя папки в которой лежат изображения для сравнения, возвращает номер не найденной картинки в $captcha, картинки должны иметь имена 0.png 1.png и так до 9

Пример: [CAPTCHA_PROEVOLITION][proEval_gentleadzs]

 

 

 

============================= Работа с капчей    ==============================

============================= Работа с капчей +обработка+создание моделей   ==============================

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

 

Любая обработка капчи начинается с ее загрузки в память  [LOAD_CAPTCHA][]  может загружать капчу по пути, или [LOAD_CAPTCHA] локально из самостоятельно загруженного файла по пути captcha/(имя шаблона)_captcha.png

и заканчивается обработка сохранением результата из памяти в файл. [SAVE_CAPTCHA] сохранится опить же в captcha/(имя шаблона)_captcha.png

 

 

Все функции постера предназначены для роботы с png, они использую это расширение по умолчанию, поэтому если картинка имеет другой формат ее нужно конвертировать.

[CONVERT_IMG][][] Конвертировать формат изображения из текущего в указанный,первый параметр имя исходного изображения(должно находится в папке captcha), второй параметр - формат, сохранит изображения с указанным именем и новым форматом.

[CONVERT_IMG][text_captcha.jpg][png]
[GET][http://control-money.com/captcha.php]
[SAVE_CLEAR_REQUEST][captcha/$MODEL_NAME_captcha.jpg]
[CONVERT_IMG][$MODEL_NAME_captcha.jpg][png]
[LOAD_CAPTCHA]
[COLOR_TRESHOLD][200]
[DISPLAY_IMG]

1.[CLEAR_TRANSPARENT] - заменяет прозрачные пиксели белыми, если ваша картинка имеет прозрачность то всегда в певрую очередь вызываем эту функцию

2.[CROP][][]  - обрезать картинку, указываем с какой стороны, и на сколько пикселей, например [CROP][DOWN][20],  зачем это нужно? - есть капчи с коопирайтом,

123.png  

чтобы наши программы для распознавания не считывали этот коопирайт его нужно отрезать

3. Функция которая которая которой практически всегда должна обработка,[COLOR_TRESHOLD][]  - установить границу цвета, допустим у нас есть изображение

 

rewbuxcaptha1.png

 

как видим, цифры боле темные, фоновый шум светлее, нам нужно очистить фон и сделать картинку черно-белой, цвет начинается с 0 и до 255, выбираем золотую середину 128 и очищаем, получаем 

 

black.png

все, картинка  готова к распознаванию.

 

[CLEAR_INTERFERENCE][] - Функция для очистки от шума(точек), функция принимает в параметре максимально возможную длину шума в пикселях(работает только с черно-белым изображением)

[CLEAR_INTERFERENCE][10]

[CHANGE_COLOR_ON_COLOR][][] - Функция для замены одного цвета на другой

[CHANGE_COLOR_ON_COLOR][#FFFAFA][#00008B]

[CHANGE_COLOR_IF_NOT_THIS_COLOR][][] - Функция для замены всех цветов если он они не являются указанным, первый параметр нужный цвет, второй - на какой цвет заменять все остальные

[CHANGE_COLOR_IF_NOT_THIS_COLOR][#FFFAFA][#00008B]

[APPLY_NEGATIVE] - Заменить в изображении черные пиксели на белые, а белые на черные

 

 

Дальше, в памяти может хранится картинка, и отдельно массив картинок, посмотреть на то что хранится в памяти можно функциями [DISPLAY_IMG]  [DISPLAY_ARRAY_IMG] , далее, разделить картинку на массив картинок( например из капчи с тремя цифрами сделать 3 картинки на каждой 1 цифра) можно функциями [SPLIT_WIDTH][] в параметре указывается на какое расстояние(в пикселях) нужно поделить картинку, тоесть если например цифры имеют одинаковое расстояние, далее если они имеют разное расстояние( не фиксированное) есть функция [SPLIT_BLACK_END] она сама определит где начинается символ и где он заканчивается, и третий вариант, когда символы налегают друг на друга, не касаются а налегают, тоесть нельзя между ними провести ровную прямую, есть функция [SPLIT_CIRCUIT] она поделит символы по контуру, все функции должны работать только с черно белыми изображениями, поэтому прежде чем их делить нужно обработать функцией для очистки мусора COLOR_TRESHOLD

 

Вопрос, а зачем столько функций когда можно банально вызвать SPLIT_CIRCUIT который справится в любом случае, отвечаю, функции жрут ресурсы(SPLIT_CIRCUIT - больше всех), поэтому приходится выбирать, когда шаблонов несколько, оно незаметно, когда их будет 40-50, вы разницу заметите.

 

 

Дальше, массив можно собрать обратно в одно изображение [JOIN_IMG_ARRAY][] в параметре принимает расстояние через которое нужно соединить массив из изображений.

 

Еще, [ALIGN_IMG_ARRAY][] функция выравнивает изображения в массиве, которые повернуты под углом, принимает в параметре примерный максимальный угол наклона

 

Создание эталона начинается и заканчивается функциями [START_MAKE_MODEL]  [END_MAKE_MODEL]  между этими функциями помещается код который в конечном итоге должен разделить изображение в массив.

 

Пример

[START_MAKE_MODEL]
[LOAD_CAPTCHA][http://rewbux.com/captcha2.php]
[COLOR_TRESHOLD][150]
[SPLIT_BLACK_END]
[END_MAKE_MODEL]

Сохраняете код и запускаете, далее ждете пока задание закончит выполнятся, минимостер сам соберет нужное количество моделей.

Функция end_make_model также может принимать параметр, - процент совпадения,  когда функция собирает эталоны она должна проверить его на совпадения с уже собраным списком, это нужно чтобы не было повторов. по умолчанию этот процент был 80% , но как показала практика, для очень маленьких изображений 80 - очень мало, поэтому регулируйте сами. Не нужно ставить большой процент для больших изображений, если смена качества в капче не велика, то чем меньше процент тем меньше нужно будет эталонов, а это и вам меньше работы и поиск будет занимать меньше времени и ресурсов.

 

 

После окончания работы вам нужно будет нажать кнопку Open Model Maker, что находится на главной станице программы, проставить значения символов на изображении, делается легко, ввод символа-ентер, ввод символа-ентер как прогресс бар дойдет до 100, жмем сохранить рерультат, кнопки назад и вперед при этом жать не надо, они нужны для того чтобы на всякий случай проверить результат и если что его исправить, для исправления также вводим символ и жмем ентер.

 

Как закончите просто запускаете функцию [COMPLETE_MAKE_MODEL]  в шаблоне

она соберет все ваши эталоны в 1 файл, этот файл кладете в папку model и все, можно их использовать [FIND_ARRAY_IMG_IN_MODEL_LIST][]  функция принимает в параметре имя файла с моделями и делает поиск по совпадению.

 

пример

 

[LOAD_CAPTCHA][http://rewbux.com/captcha2.php]
[COLOR_TRESHOLD][150]
[SPLIT_BLACK_END]
[FIND_ARRAY_IMG_IN_MODEL_LIST][rewbux.model]
[DISPLAY_BUFFER]
[LOG_DISPLAY][$captcha]

 

 

Видео мунал по написанному выше 

https://youtu.be/A67ulhq82nI

============================= Работа с капчей +обработка+создание моделей   ==============================


  • 13

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================


#8 Djoser

Djoser

    Администратор

  • Администраторы
  • 3 935 сообщений

Отправлено 04 Январь 2017 - 08:44

============================= Работа с браузером  ==============================

Любая работа с браузером начинается с его открытия

[BROWSER_OPEN_WINDOW] , для того чтобы открыть его сразу свернутым, можно использовать параметр [BROWSER_OPEN_WINDOW][BROWSER_MINIMAZE]

 

заканчивается робота его закрытием [BROWSER_CLOSE_WINDOW]

 

[BROWSER_OPEN_URL][] - открывает указанный url в браузере

[BROWSER_GET_URL] - получает url в браузере

[BROWSER_GET_SOURSE] - получить исходный html код страницы

[BROWSER_SET_USER_AGENT][] - установить юзерагент для браузера

[BROWSER_SET_PROXY][][]  - установить прокси

[BROWSER_SET_PROXY][HTTPS][123.34.56.12]

[BROWSER_EVAL_JS][] - выполнить в браузере javascript код

[BROWSER_EVAL_JS][ alert('hello world');]

[BROWSER_GET_COOKIES][] - скопировать из браузера куки в постер для указанного домена

[BROWSER_SET_COOKIES][] - скопировать куки из постера в браузер для указанного домена

[BROWSER_SCREEN_SHOT][][] - сделать скриншот окна бразуера и скопировать прямоугольник по координатам верхнего правого и нижнего левого угла 

[BROWSER_FILTER_DOMAIN][] - заблокировать домен

[BROWSER_FILTER_PATH][] - заблокировать путь

[BROWSER_WINDOW_MINIMAZE] - свернуть браузер

[BROWSER_WINDOW_MAXIMAZE] - развернуть браузер

[BROWSER_MOUSE_EMULATION][][] - Эмулировать действие мыши в браузере, LBUTTON_CLICK,RBUTTON_CLICK,MOUSE_WHEEL, второй параметр коорднинаты клика, либо сколько поворотов колесиком

[BROWSER_MOUSE_EMULATION][LBUTTON_CLICK][550:25]

[BROWSER_KEYBOARD_EMULATION][] - эмулировать ввод текста через клавиатуру

[BROWSER_GET_FOCUS_LINK][] получть информацию о ссылке над которой наведен курсор мыши, $url - ссылка, $result - контекст ссылки

 

========Важно!=======

При эмуляции мыши по браузеру корсором не водить иначе все может сбится

========Важно!=======


  • 15

rekl.png
=======================================================
============Для доната miniPoster P28909803===============
=======================================================
=======================================================
= ОФИЦИАЛЬНЫЙ DISCORD КАНАЛ -- https://discord.gg/68xNQxy ==

=======================================================





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных