Павел Дуглас
Карманный гайд для веб-автоматизаторов Browser Automation Studio

Введение

СКАЧИВАЙТЕ И ИСПОЛЬЗУЙТЕ

BROWSER AUTOMATION STUDIO

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

Устанавливайте и начинайте творить!

Об авторе

Меня зовут Павел Дуглас и я профессиональный RPA-Developer и успешный digitаl-предприниматель. Одним из инструментов автоматизации для меня является BAS.

С помощью BAS за 3.5 года я:

   • разработал 888+ ботов разных задач

   • заработал 4 867 198+ руб. чистой прибыли

   • автоматизировал все бизнес процессы

   • вышел на постоянный пассивный доход

Кроме этого я основал свою онлайн-школу по BAS, маркетплейс авто-ботов DefiNova, являюсь автором многих онлайн-проектов в интернете, имею сотни кейсов в сфере автоматизации.

Я помог сотням разных клиентов внедрить автоматизацию в их бизнес и онлайн-заработок.

Хочу выразить огромную благодарность разработчикам BAS и его команде за то, что сделали такой колоссальный вклад и разработали действительно лучший инструмент автоматизации на рынке.

Это пособие для тех, кто хочет освоить новую IТ-профессию и стать ВАS-разработчиком в кратчайшие сроки.

А теперь не буду вас задерживать, погружайтесь и жадно изучайте BAS, ведь это действительно наше будущее!

Как использовать гайд? ГЛАВНАЯ ЦЕЛЬ ГАЙДА: "БЕРИ И АВТОМАТИЗИРУЙ"

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

В главе №1 вы познакомитесь с модулями BAS и поймете как они устроены.

В главе №2 вы узнаете об экшн-блоках и их применении.

В главе №З вы узнаете о функциях, куда помещаются экшн-блоки.

И наконец в главе №4 вы узнаете об основных вариантах применения автоматизации в интернет-деятельности.

КАЖДАЯ ИЗ ГЛАВ НЕСЁТ ПРАКТИЧЕСКУЮ ИНФОРМАЦИЮ

Эта книга не расскажет "Как" создавать сценарии автоматизации на Browser Automation Studio, но она покажет правильный путь освоения конструктора. Самое важное на первом этапе – это изучить основные компоненты и модули BAS прежде чем начать творить.

На втором этапе – это понять на конкретных примерах где можно применить автоматизацию.

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

Пройдите все этапы и изучите BAS.

ВСЕГДА ДЕРЖИТЕ ГАЙД ПОД РУКОЙ И ПОЛЬЗУЙТЕСЬ ВО ВРЕМЯ ПОЛЬЗОВАНИЯ КОНСТРУКТОРОМ.

Представьте, что весь сценарий автоматизации строится на кубиках "LEGO". Вы наверняка в детстве любили это занятие и вот сейчас настало время вспомнить и уподобиться фантазии ребёнка.

Я собираюсь поведать вам о нескольких видах автоматических сценариев, которые применяю сам каждый день. Но это лишь малая часть из того, что можно вообще представить…

С помощью BAS вы можете даже зажечь лампочку вашего холодильника если захотите, ваша фантазия не должна ограничиваться лишь моими примерами.

Но примеры авто-сценариев вам помогут быстрее и проще начать осваивать Browser Automation Studio.

Модули·-> Экшн-блоки·-> Функции -> Авто-Сценарии BAS WORKLAB СТРУКТУРА BAS

Модули

Экшн-блоки

Функции

Авто-сценарии

Типы взаимодействия в BAS

BAS внутри имеет 2 разных типа взаимодействия с сайтами:

   1. Открытие URL страниц в браузере (обычная загрузка страниц как в вашем обычном браузере на ПК)

   2. Посыл запросов к серверу веб-страниц напрямую без открытия страниц в браузере и отрисовки визуальной составляющей.

Когда какой тип взаимодействия использовать?

Следует понимать, что загрузка страницы в браузере нагружает ресурсы компьютера, следовательно, больше 100-200 потоков работать не получится.

Если же вам необходима работа в 1 000 потоков и более, то следует использовать НТТР-клиент, который оптимизирован под такие нагрузки и работает полностью без браузера.

Параметры максимального быстродействия мыши

Глава 1. Модули BAS

"Системы состоят из подсистем, подсистемы – из под подсистем и так до бесконечности – именно поэтому мы проектируем снизу вврх."

Алан Перлис

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

Корзина это и есть модуль в BAS, в которую вы кладете наборы с лего (функции). И каждый по себе отдельный набор вмещает маленькие части конструктора LEGO (действия экшн-блоки).

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

Основные модули Концепция модульной структуры

НАБОР ДЕЙСТВИЙ

Разработчик использует набор действий для решения какой-либо задачи

ФУНКЦИЯ

Действия помещаются е специальные контейнеры для многократных вызовов с параметрами

МОДУЛЬ

Из функций создаются специальные блоки именуемые модулями для подключения к проектам

Модули в BAS делятся на 2 основных вида:

   • Основные

   • Дополнительные

Основные модули - это набор экшн-блоков, которые вы будете использовать в автоматизации чаще всего.

К основным модулям относятся: браузер, логика скрипта, инструменты, сеть, ожидание, HTTP-клиент, дата и время, файловая система, смена отпечатков браузера, список, путь, работа с профилями, ресурсы, строка, XPATH, JSON, статистика скрипта, регулярные выражения.

Каждый из этих модулей помогает решить конкретную задачу. Например, модуль браузер позволяет вызывать действие "Загрузить", которое загружает указанный вами сайт по URL.

Все из этих модулей мы разберем по отдельности и посмотрим для каких еще функций они предназначены.

Дополнительные модули – это набор экшн-блоков, которые вы будете использовать по мере необходимости и без них вполне можно обойтись если перед вами не стоит конкретной задачи по их использованию.

К ним относятся: открыть/закрыть браузер, буфер обмена, эмуляция бездействия, асинхронный вызов функций, обработка изображений, почта, подтверждение телефона, управление процессами, отправить письмо, Telegram, часовой пояс, взаимодействие с пользователем, встроенные языки, Excel, База данных, URL, контрольная сумма, архивация, FTP, SQL.

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

Модуль BROWSER AUTOMATION STUDIO

Модуль "Браузер" служит для работы с действиями (экшн-блоками), которые не требуют конкретного элемента для применения в браузере.

К модулю "Браузер" относятся следующие действия: загрузить, текущий URL, предыдущая страница, код страницы, ввод текста, разрешение, получить разрешение и положение курсора, прокси, яваскрипт, выполнять при каждой загрузке страницы, сброс, диалог открыть файл, начать перетягивать файл, окно prompt, http аутентификация, прокрутка, скриншот, решить капчу, recaptcha v3, решить капчу кликами, решено неверно, таймаут, настройки браузера, нажать кнопку расширения, режим сенсорного экрана, настройки мыши, уведомления.

В будущем этот список будет дополнятся, поскольку могут появится новые функции и действия.

В модуле "Браузер" предостаточно действий чтобы уже создать простейшего бота.

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

Модуль логика скрипта

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

К модулю "Логика Скрипта" относятся следующие действия: IF, WHILE, FOR, FOREACH, Break, Continue, Success, Fail, Прервать Скрипт, Установить Метку, Перейти к Метке, Игнорировать Ошибки, Установить Переменную, Увеличить Переменную, Установить Глобальную Переменную, Увеличить Глобал. Переменную,

Вызов Функции, Получить Параметр Функции, Return, Вызов Функции в Несколько Потоков.

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

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

Модуль инструменты

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

В состав модуля входят следующие действия: лог, очистить лог, результат, выполнить код, парсить строку, случайное число.

Модуль сеть

Модуль "Сеть" служит для работы с сетевыми параметрами браузера такими как: кэш и его элементы, cookies, заголовки браузера, маски и статусы запросов, запреты и разрешения загрузок файлов и всплывающих окон.

В состав модуля входят: установить заголовок, сохранить и загрузить cookies, загрузить cookies из http клиента, разрешить кэш, запретить кэш, разрешать запрос, запретить запрос, очистить кэш. данные, очистить маски, получить статус запроса, был ли запрос, получить последний элемент кэша, получить все элементы кэша, запретить и разрешить всплывающие окна и загрузку файлов.

Модуль ожидание

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

Модуль сравнительно небольшой и содержит: ждать полной загрузки, ждать загрузки URL, ждать адреса браузера, ждать текст, ждать CSS, ждать загрузки файла, сон.

Модуль http-клиент

Модуль "Http-Клиент" служит для работы с запросами к веб-серверу и сайту, минуя его визуальную составляющую. То есть работа ведется целиком без браузера.

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

В модуле присутствуют следующие действия: HTTP-клиент прокси, клиент-сброс, Get-запрос, Post-запрос, Скачать, Текущий URL, содержание ответа, статус ответа, получить заголовок, установить заголовок, очистить заголовки, сохранить и загрузить cookies, загрузить cookies из браузера, завершить работу после ошибки, была ли ошибка, получить текст ошибки, Xpath получить XML, каждый XML, получить текст, получить каждый текст, получить кол-во элементов, проверить существование.

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

Модуль дата и время

Модуль "Дата и Время" позволяет гибко работать с датами и временем.

BAS использует своё собственное представление даты и времени.

Количество миллисекунд при преобразовании отсчитывается с 1 января 1970 года, 00:00:00 UTC.

Моментом начала отсчёта считается полночь (по UTC) с 31 декабря 1969 года на 1 января 1970, время с этого момента называют "эрой UNIX" (англ. Unix Epoch).

UNIX-время – способ кодирования времени, принятый в операционных системах.

Время UNIX согласуется с UTC.

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

Дата и время в этом формате также занимают очень мало места (4 или 8 байтов, в зависимости от размера машинного слова), поэтому его разумно использовать для хранения больших объёмов дат. В большинстве случаев эффективнее хранить время в виде одной величины, а не набора полей.

Модуль "Дата и Время" богат своими действиям: строку в дату и обратно, миллисекунды в дату и обратно, создать дату, изменить дату, добавить секунды к дате, разница между датами, дата сейчас, изменить и получить часовой пояс, день месяца, недели, года, получить год, месяц, часы, минуты, секунды и миллисекунды из даты.

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

Модуль файловая система

Модуль создан для упрощения работы с файлами на вашем компьютере.

Сюда включены важные действия такие как: читать файл, запись в файл, информация о файле/папке, создать и удалить папку, переместить, копировать файл/папку, поиск файлов, читать или записывать файл в список.

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

Модуль смена отпечатка браузера

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

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

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

Подмена устройства необязательна если вы работаете в 1 поток.

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

Отпечатки браузера по-умолчанию бесплатные для подмены устройств Chrome.

Если вам понадобятся расширенные настройка и другие устройства такие как Iphone, Android, Firefox, то необходимо оплатить подписку к базе отпечатков на 1 или 3 месяца. Это недорого!

Модуль список

Модуль "Список" используется для работы с массивами (списками).

Список или массив – это упорядоченный конечный набор элементов. Например, список задач, имён, фамилий, емейлов, аккаунтов, телефонов.

Часто вам придется работать с большим количеством аккаунтов для какого-либо сайта и тут как раз пригодятся списки.

Например, вам необходимо из списка использовать только 1 конкретный аккаунт, а не все.

Модуль путь

Выбирай верный путь, а не легкий

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

Динамический путь – это путь к файлу или папке, которыи изменяется в зависимости от его местоположения.

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

Модуль работа с профилями

Модуль предназначен для создания и переключения между профилями браузера.

По-умолчанию, BAS использует движок браузера Chromium и такие же профили как в обычном браузере Chrome.

Профили – это папки, в которых хранится ваша информация о посещенных сайтах, расширениях, cookies, сохраненный кэш со страниц сайтов и другая важная информация.

Профили помогают сохранить авторизацию на сайтах и повторно на них не авторизовываться.

Модуль ресурсы

Модуль "Ресурсы" позволяет осуществлять работу с ресурсами скриптов в BAS.

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

Ресурсы используется как настройки при старте сценария автоматизации.

Например, это может быть кол-во потоков, txt файл с аккаунтами, почтами, случайно сгенерированные данные и тд тп.

Модуль строка

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

Чаще всего в модуле вы будете использовать "Случайная строка", "Шаблон", "Получить длину", "Заменить строку" и "Парсить CSV строку".

Например с помощью "Случайная строка" можно сгенерировать случайный пароль для регистрации нового аккаунта.

Модуль XPATH

Модуль позволяет работать с ХРАТН.

ХРАТН – язык запросов к HTML/XML страницам.

Один из часто используемых модулей в BAS, с помощью которого можно очень быстро извлекать элементы и тексты со страниц.

Например, вы делаете парсер Avito с использованием браузера и вам необходимо с карточки товара получить хар-ки, описание и фото.

В этом вам поможет ХРАТН.

Модуль JSON

Модуль служит для работы с общепринятым форматом данных JavaScript Object Notation (JSON).

JSON – это текстовый формат обмена данными, основанный на Javascript и представляющий из себя некий вид типа: {"ключ":"значение"}.

Это набор пар: ключ и значение (в котором любое из значений представлено внутри двойных кавычек, кроме числовых значений). Весь объект JSON находится в фигурных кавычках. Также в ключе может быть записан вложенный объект в фигурных кавычках, также третья вложенность и так далее.

Модуль "JSON" полезно использовать, когда вам необходимо собрать информацию с какого-либо сайта (например, контакты) и вы отсылаете запрос на ее получение через модуль "НТТР-Клиент".

Тогда в ответе чаще всего вы получите строку в формате JSON.

Как раз тут и понадобится набор действий, чтобы извлечь оттуда все данные.

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

Модуль статистика скрипта

Данный модуль используется для получения статистических показателей работы ваших скриптов.

Например, это может быть номер потока, кол-во успешных выполнений и кол-во неудачных выполнений.

Полезный модуль, когда вам необходимо вызывать сценарий в определенных потоках, например, только во 2 и 4.

Тогда вы можете использовать конструкцию IF и проверять номер потока в авто-сценарии.

Модуль регулярные выражения

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

Это и есть регулярные выражения.

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

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

Дополнительные модули Модуль открыть/закрыть браузер

Данный модуль содержит всего 2 действия: закрытие и открытие браузера.

Используется когда вам необходимо более гибко управлять состояниями вашего браузера или браузеров в потоках.

По умолчанию браузер закрыт. При использовании действия "Открыть Браузер", он открывается в автоматическом режиме.

Но если закрыть браузер вручную, то автоматически он уже не откроется.

Тут как раз и пригодятся действия модуля.

Модуль буфер обмена

Данный модуль служит для работы с буфером обмена на вашем компьютере.

Буфер обмена – это временное хранилище информации, которую вы недавно скопировали.

В модуле доступно 2 действия: читать буфер обмена и записывать в буфер обмена.

Модуль эмуляция бездействия

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

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

Модуль содержит только 1 действие: эмуляция бездействия.

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

Модуль асинхронный вызов функции

Модуль служит для работы с асинхронными функциями.

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

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

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

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

Модуль обработка изображений

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

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

В этом поможет данный модуль.

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

Модуль почта

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

Например, если вы регистрируете аккаунты на каких-либо сайтах, где приходят письма подтверждения регистрации или специальный код подтверждения.

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

Модуль подтверждение телефона

Модуль позволяет работать с SМS-сервисами приёма кодов активации, звонков-сбросов и дальнейшим их использованием в ваших скриптах.

SМS-сервисы – это специализированные сайты, которые предоставляют услуги по аренде номеров для приема кодов активации с различных сайтов.

Большинство сервисов уже встроено в данный модуль (например, sms-act]vate.ru), но вы также можете написать собственный модуль для сервисов, которые отсутствуют по-умолчанию.

Модуль управление процессами

Данный модуль предназначен для вызова различных .ехе файлов на вашем компьютере параллельно с работой авто-сценария, а также для вызова Batch/Bat скриптов.

ВАТ скрипты – это последовательно команд, вызываемых из командной строки CMD.

Например, вам необходимо показать диалоговое окно или проиграть какой-либо звук системы Windows или получить список запущенных процессов при помощи WMIC.

WMIC – это служебная программа для управления Windows процессами.

Модуль отправить письмо

Модуль служит для отправки писем через протокол SMTP.

SMTP – это сетевой протокол для передачи электронной почты в интернете.

У каждого Email сервиса имеется свой SMTP сервер, через который вы можете рассылать письма.

Но из-за разного рода спама, многие Еmаilсервисы ограничивают скорость рассылки и кол-во через SMTP, а также вводят доп. пароли приложений.

Модуль Telegram

Модуль позволяет работать с отправкой сообщений в Telegram.

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

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

Также через Telegram можно управлять BAS скриптами.

Модуль часовой пояс

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

Обычно не применяется на практике, так как его заменяет экшн-блок под названием "Прокси".

Полезно и практично подстраивать параметры под iр-адрес, поскольку при малейших расхождениях между вашим IP прокси и тем, который видит сайт, у вас возникнут проблемы с анонимностью.

Модуль взаимодействие с пользователем

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

Например вы сделали своего первого бота и на какой-то стадии вылазит капча, которую вы не хотите решать автоматически через сервис. Вы конечно же прибегаете к действию "Передать ручное управление", тогда в процессе сможете вмешаться в выполнение, решить капчу и передать управление обратно.

Модуль встроенные языки

Модуль "Встроенные языки" используется для вызова участков кода при помощи NodeJS и его модулей NPM.

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

Модуль содержит 1 действие: Node.js

Модуль Excel

BAS также имеет по-умолчанию встроенный и мощный модуль для работы с Excel таблицами.

В модуле вы найдете все необходимые экшнблоки для построения автоматизации, связанной с Excel таблицами.

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

Модуль позволяет полностью автоматизировать работу с Excel, не прибегая к стороннему программному обеспечению и написанию кода.

Модуль база данных

Данный модуль служит для работы со встроенной базой данных MongoDB от BAS.

Модуль предназначен для работы с локальной базой данных.

Используется как альтернатива Excel, текстовым файлам, только с более структурированными и большими данными.

Вы можете получать записи из базы, записывать, группировать, обновлять и удалять их в неограниченном объёме.

Модуль URL

Данный модуль позволяет работать со строками вида URL, Юзер-Агентами и кодированием/ декодированием строк.

Например, вам необходимо сменить протокол с http на https, заменить какие то лишние символы, вырезать протоколы и www, спарсить данные из URL, создать или изменить URL, распарсить юзер-агент на составляющие, закодировать или раскодировать URL или превратить в Punycode.

Punycode – это метод преобразования Unicode символов в разрешенные доменными именами.

Модуль контрольная сумма

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

Контрольная сумма – это значение, полученное в результате хэширования по определенному алгоритму.

Имеет вид: 5d41402abc4b2a76b9719d911017c592

или любые более сложные виды.

Внутри модуля 64 алгоритма хэширования, в том числе SHA-256, md5 и другие.

Используется в основном при работе с HTTP-клиентом (запросы). Лично я использовал при авто-заливе рекламы в TikTok Ads по API.

Модуль архив

Данный модуль служит для работы с архивами RAR/ZIP/7z.

Полезно, когда вам необходимо выкачивать объемные сжатые файлы с сайтов или сервера и затем распаковывать их локально через скрипт.

Модуль содержит: распаковать архив, заархивировать папку, файлы, получить список файлов из архива.

Модуль FTP

Модуль позволяет подключаться к удаленным серверам через протоколы FTP/SSH/SFTP и работать с файловой системой.

FTP – это протокол передачи файлов в сети.

Будет крайне полезно использовать при автоматической загрузке сайтов или html страниц на хостинг.

Например вы занимаетесь арбитражем трафика и вам необходимо генерировать много HTML страниц под разные рекламные предложения и загружать на хостинг в качестве прокладки. Тут как раз пригодится данный модуль!

Модуль SQL

Модуль используется для полноценной работы с Базами Данных MySQL, mariaDB, postGres, SQLite и msSQL.

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

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

Менеджер модулей

Позволяет создавать новые модули, устанавливать готовые и включать/ отключать установленные. Любой желающий может создать свой модуль и передать кому угодно. Модули упаковываются в формате .zip Модули состоят из функций, которые строятся из экшн-блоков.

Глава 2. Экшн-блоки

ИНГРЕДИЕНТЫ

"Все нужно проектировать сверху вниз, за исключением фундамента, с которого нужно начинать."

Алан Перлис

Основные экшн-блоки Действия браузера

Действие "Загрузить" – вызывает указанный URL сайт с возможным указанием параметра referer. Referer – это источник перехода на сайт.

Текущий URL – позволяет получить адрес страницы сайта, запущенного в браузере BAS. Переменная CURRENT _URL устанавливается по умолчанию и её можно сменить на любую другую.

Предыдущая страница – позволяет выполнить действие "назад" на странице браузера BAS.

Код страницы – служит для сохранения HTML кода загруженной страницы браузера BAS. SAVED_PAGE_HTML переменная хранит в себе html формат страницы сайта, который можно использовать для получения элементов методом парсинга ХРА ТН.

Ввод текста – служит для ввода текста на сфокусированные элементы, которые находятся в фокусе. НЕ ПУТАТЬ с ВВОДОМ текста по селектору!

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

Разрешение – позволяет изменять размер экрана вашего браузера. По-умолчанию задается 1024 на 768.

Получить разрешение и положение курсора – служит для получения размера экрана запущенного браузера и положение ХУ курсора мыши.

Прокси – служит для изменения IР-адреса и подмены геолокационных параметров в браузере. Работает с 2 основными видами прокси: http и socks5. Можно гибко настраивать параметры и подстраивать под запущенный профиль браузера.

Яваскрипт – это экшн-блок, служащий для вызова кода Javascript внутри Веб-браузера BAS. НЕ ПУТАТЬ с Выполнить Код! Данное действие выполняется только внутри запущенного браузера, а не внутри конкретных потоков.

Выполнять при каждой загрузке страницы в браузере – это действие вызывает JavaScript внутри браузера на самом старте загрузки страницы в окне.

Сброс – действие используется для очистки cookies, кэша, прокси, заголовков, юзер-агентов и прочих параметров вашего профиля браузера.

Диалог открыть файл – используется для начала работы с файлами на странице браузера. Это действие необходимо выполнять если вы хотите, например, загрузить аватарку. Выполняется в 2 этапа: сначала вызывается "Диалог открыть файл" и затем клик по элементу с аватаркой.

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

Окно "prompt" – это специальное диалоговое окно, которое всплывает для необязательного ввода от пользователя каких-либо данных. НЕ ПУТАТЬ с модальными окнами, это другое! Большинство сайтов уже не использует prompt окна.

НТТР Аутентификация – это аналогично окну prompt, но только для ввода авторизационных данных, например, для подключения к сайту через прокси по логину и паролю.

Прокрутка – используется для прокрутки страницы браузера через скроллинг по координатам Х и У. Можно использовать колесо мышки или касания.

Скриншот – используется для получения снимка экрана страницы браузера по координатам Х и У. Также указывается ширина и высота скриншота. Скриншот сохраняется в формате base64.

Решить капчу – используется для решения текстово-графических капч (lmage То Text). Входными параметрами являются картинка капчи в формате base64, сервис решения капчи, Api ключ сервиса, URL сервиса капчи или программы для решения капч (по-желанию). CAPTCHA_RESUL Т – переменная сохраняет результат после решения капчи сервисом или программой.

RecaptchaVЗ – действие, позволяющее решать невидимую новую версию Recaptcha 3-ей версии. Входными параметрами являются выбор сервиса решения+ Api ключ+ доп. параметры с указанием минимального рейтинга человекоподобности, URL сервера (по-желанию) и прокси, отправляемое на сервис.

Решить капчу кликами – действие аналогичное "Решить капчу", только для решения графических капч-картинок с последующим кликом по ним.

Входные параметры: картинка-сетка из 9 картинок в формате base64, сервис решения, Api ключ, указание описания решения (на что необходимо кликнуть)+ URL сервера и задержки.

Результатом действия является список (массив) координат COORDINA TES_LIST, по которым нужно кликнуть. Действие по нажатию на картинки по координатам не выполняется в этом действии!

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

Таймаут – действие, используемое для глобальных настроек ожиданий загрузок элементов, страниц сайта, времени решения капч. Полезно использовать когда вы не хотите каждому действию, например, "Загрузить'' задавать время ожидания загрузки страницы.

Настройки браузера – действие для настроек различных параметров браузера перед стартом работы для конкретного потока. В действии можно вызывать расширения, настраивать WebRTC, WebGL, аргументы командной строки браузера и многие другие параметры. Чаще всего используется для работы с расширениями.

Нажать кнопку расширения – данное действие производит вызов определенного расширения в браузере BAS по идентификатору ID или по его имени.

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

Перед использованием этого действия необходимо сначала установить расширение. Для этого используйте действие "Настройки браузера".

Режим сенсорного экрана – действие позволяет включать и отключать touch-события для эмуляции мобильного устройства. Обычный курсор мышки заменится на круглый значок с возможность свайпов.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.