Самый ценный ресурс, который есть у IT-специалистов, маркетологов и арбитражников — это время. В статье расскажем, как больше отдыхать и меньше работать в браузере — поговорим про программы, предлагающие автоматизацию. И выберем между двумя: ZennoPoster и BAS.
Содержание скрыть
Зачем нужны программы для автоматизации работы в браузере
- тестирование сайтов — переходы по ссылкам, просмотры страниц и так далее;
- накрутку просмотров/лайков/комментариев, если использовать для работы множество аккаунтов;
- создание большого количества аккаунтов в соцсетях и на других площадках;
- автообновление страницы, чтобы первым получить какую-то важную информацию;
- поиск определенных данных в интернете в любых браузерах и поисковых системах;
- анализ информации в таблицах, графиках, текстовых документах;
- рассылки потенциальной аудитории с предложением продуктов, услуг и так далее.
По сути возможности автоматизаторов работы в браузере безграничны. С их помощью можно создавать армии боеспособных ботов: парсеров, регеров, постеров, генераторов, обработчиков, анализаторов. Можно завоевать соцсети, быстро анализировать огромные потоки информации, намного эффективнее работать с рекламными сетями.
Получи целый ПАК бонусов только за регистрацию в AFFSTAR!
Автоматизаторов много. Мы расскажем о двух основных и самых популярных программах.
Плюсы и минусы ZennoPoster
Сначала коротко о главном. ZennoPoster — программа для автоматизации, запуск которой не требует специальных навыков. Можно работать с ней, даже не зная кода. Пользователь просто записывает определенное действие, которое нужно повторить, а программа с помощью множества ботов выполняет его по заданным вами параметрам: все время, раз в час, в день и так далее.
Характеристики ZennoPoster — это:
- многопоточность — можно добавлять проект в десятки и сотни разных потоков, и программа будет выполнять 10–100 действий одновременно;
- профили пользователей — каждый раз при заходе на сайт программа представляется новым пользователем;
- более 50 макросов — можно настроить любые действия в интернете, в том числе сложные;
- система эмуляции человека — сервис может обманывать системы слежения, действуя, как живой человек;
- прокси — можно подключить автоматический поиск прокси, чтобы постоянно оставаться анонимным;
- встроенный анализ веб-страниц с информацией о трафике, подсветкой нужных элементов;
- встроенная поддержка FTP-серверов.
Сами характеристики — это уже плюсы. Но есть и дополнительные преимущества:
- поддержка добавления своего кода на C# и библиотек классов — можно создать что-то принципиально новое под себя;
- бесплатная демо-версия длиной 2 недели;
- оплата лицензии, а не абонентская плата;
- поддержка двух браузеров — Chrome и Mozilla;
- возможность визуального редактирования шаблонов действий.
Негативных отзывов о программе ZennoPoster практически нет — все ей довольны. Но все-таки есть несколько минусов:
- сильная ограниченность дешевого тарифа — доступен всего один поток, один компьютер и так далее;
- высокая стоимость — стандартная цена по лучшему тарифу составляет 14 700 ₽;
- необходимость знания кода, чтобы делать какие-то сложные вещи, для легких задач знать код не обязательно.
При покупке можно воспользоваться скидками. Или вернуть деньги в течение 14 дней, если вы разочаровались в функционале.
Плюсы и минусы Browser Automation Studio
BAS, или Browser Automation Studio — это частная разработка. В отличие от ZennoPoster, ее создавала не команда, а несколько человек. Но функционал у нее такой же: программа позволяет записывать разные действия, а потом повторять их, в том числе одновременно на нескольких потоках. Доступно до 2 000 потоков одновременно.
В числе функционала BAS множество полезных вещей:
- просмотр URL и кода страницы;
- загрузка файлов;
- ввод текста;
- смена разрешения;
- создание скриншота;
- прокрутка;
- решение капч;
- запуск скриптов и так далее.
Как и конкурент, программа позволяет работать с кодом и создавать сложные скрипты для выполнения цепочек действий. В числе очевидных преимуществ сервиса:
- возможность визуального построения алгоритмов без знаний кода — в интерфейсе все просто и понятно;
- бесплатная версия — программа всегда останется бесплатной, если стандартного функционала мало, можно купить дополнительный;
- полноценная интеграция с CapMonster2, чего нет у ближайших конкурентов;
- возможность компиляции проектов и предоставления клиентам единого исполняемого файла;
- создание автономных приложений для исполнения повторяющихся действий;
- открытый исходный код — можно добавлять что-то свое или тестировать работу;
- сервис FingerprintSwitcher для смены индивидуальных браузерных отпечатков.
Еще одно преимущество — магазин приложений. В нем вы можете продавать свои скрипты другим пользователям. Стоимость устанавливаете сами. А еще в платной версии программы можно продавать лицензии на свой продукт и отзывать их, если нужно. И визуальный интерфейс для программ, если делать их как отдельный исполняемый файл.
У любого проекта есть минусы, и BAS их не лишен. В основном пользователи лестно отзываются о нем, но есть некоторые проблемы:
- небольшие задержки в работе технической поддержки;
- неудобный интерфейс;
- баги, которые в принципе возникают везде.
Ничего критически плохого о программе сказать нельзя — большинство пользователей ее хвалят. Они отмечают то, что можно легко передать бота другим пользователям, при этом они не должны устанавливать программу.
Что выбрать — BAS или ZennoPoster
Решайте сами, исходя из своих потребностей. Нужно много работать с капчей, не готовы тратить деньги на подобный софт или хотите продавать лицензии — скачайте BAS. Нужны поддержка FTP или встроенный анализ страниц с кучей макросов — вам в ZennoPoster.
Идеальное решение — протестировать оба варианта, прежде чем сделать окончательный выбор. Скачайте BAS и активируйте пробный период ZennoPoster, а потом попробуйте создать приблизительно одинаковые проекты в обоих программах. Где будет удобнее, быстрее и проще, там и оставайтесь.
А что выбираете вы? Поделитесь своим мнением в комментариях. Если хотите получать еще больше материалов об арбитраже трафика, рекламе, SEO и соцсетях, подпишитесь на наш канал в Telegram. Публикуем там кейсы, подборки и полезные советы.
Источник: protraffic.com
Как автоматизировать рутинные операции с помощью Jupyter, Python и Selenium
Привет, Хабр! Меня зовут Николай Суворов, я руководитель направления в МТС Digital. Занимаюсь продуктом МТС Premium – это единая подписка на сервисы МТС и партнеров. Сегодня я расскажу о нашем опыте создания робота для автоматизации повторяющихся действий сотрудников с помощью Jupyter, Python и Selenium.
Статья будет интересна прежде всего менеджерам, которые хотят оптимизировать свою работу. Разработчикам мой текст будет полезен с точки зрения понимания возможностей по ускорению повторяющихся действий в интерфейсах. Весь необходимый код – ниже.
Зачем автоматизировать рутину
Началась эта история так – на одном из грумингов координатор проектов Настя уставшим голосом сказала, что может приступить к своим прямым обязанностям только после того как заведет пару сотен промокодов в течение пары часов. А после такого сил и мотивации работать дальше может и не остаться.
Вообще, современные люди в основной своей массе не любят однообразную работу. Они считают ее скучной и демотивирующей, хотят разнообразных увлекательных задач. Но если мы говорим о крупных компаниях, то одни и те же операции, повторяемые ежедневно, по сумме затраченного времени могут быть точно оценены в рублях. И иной раз в результате таких расчетов получаются просто астрономические цифры.
Часть рутинных операций можно устранить при помощи грамотного UX. Но бывает и так, что требуется постоянно повторять одни и те же действия и в самых продуманных интерфейсах. Даже с кнопкой «копировать» или «создать по шаблону» рутинное действие не всегда происходит быстрее. Кроме того, при ручных операциях с увеличением количества задач возрастает и вероятность ошибки.
Особенно, если дело касается цифр, дат, опций. Менеджер забыл поставить опцию отмены промокода в определённый день – и код становится вечным. Узнаем мы об этом только потом, читая еженедельный отчёт по активациям кодов. И это – совсем не единичный случай.
UX/CX-анализ – дело хлопотное и затратное, но доработки, ускоряющие выявленные повторяющиеся операции, обойдутся еще дороже. Их надо проаналитить, закодить, оттестировать, зарелизить. Между выявлением проблемы и ее устранением могут пройти месяцы и даже годы. И все это время компания продолжит тратить ресурсы на повторяющиеся однообразные операции, которые будут выполнять всё возрастающее количество ассистентов.
Как одному сотруднику завести 204 промокода за 2 часа
Итак, вернемся к нашему координатору проектов. Суть ее задачи состояла в том, чтобы через особый интерфейс в 17 подписках завести по 12 промокодов, которые затем идут в некую базу данных, где для каждого такого кода генерируются тысячи уникальных кодов. Такова архитектура, менять ее мы не можем.
Кроме того, необходимо к каждому коду указать даты его действия, размер предоставляемой скидки, название для облегчения поиска среди других кодов. Сам код нужно придумать, следуя специальному соглашению о нейминге. Помножив 17 на 12 – получаем 204 кода. На каждый тратим около 1-2 минут. Итого, в лучшем случае, уйдет 3,5 часа.
А в реальности эта работа займет – 5-6 часов, которые уйдут на нажатия кнопок в интерфейсе и ввод данных в текстовые поля. Кажется, что это слишком простая работа для целого координатора проектов. Но такой работы много и кому-то надо ее выполнить, причем очень быстро. Зачастую бизнес ожидает, что коды будут заведены в тот же день, даже если задача поступает в 17:00.
Да, мы могли бы поставить задачу на аналитику по автоматизации конкретного действия по заведению промокодов. Но система, куда они вводятся, имеет свой релизный цикл, а бэклог забит до конца следующего года. И это, мягко говоря, не самая приоритетная задача по соотношению пользы/затрат. Промокоды нужны конкретно нашему продукту, а у системы их более 50.
Промокоды были придуманы нами неожиданно. Понятное дело, что система не может дорабатываться под «хотелки» команды каждого отдельного продукта по мере придумывания сотрудниками новых фич. Итогом наших прений была работа координатора проектов над задачей по ручному заведению 200+ промокодов 2-3 раза в неделю.
С этим определенно нужно было что-то делать. Мы очень ценим нашу Настю и не хотели бы, чтобы она ушла из команды по причине того, что больше некому делать рутинную работу. Поплыли другие задачи, которые имели непосредственное отношение к нашему менеджеру. Она просто не успевала ими заниматься.
Ситуация осложнялась тем, что наша команда разработки была занята непосредственно продуктом. Мы не могли тратить время на автоматизацию рутинных задач менеджера. Все, что мы могли – использовать имеющиеся знания других менеджеров в области прикладной разработки на Python.
Как нам помог Jupyter, Python и Selenium
При помощи связки Jupyter+Python+Selenium можно в 4-5 раз ускорить известные, повторяемые изо дня в день, операции в интерфейсах. Selenium – известный продукт для симуляции действий в интерфейсах и тестирования. Python – простейший язык, доступный для освоения даже младшим школьникам. Jupyter – лучший инструмент моделирования алгоритмов.
Для разработки мы использовали окружение Anaconda, поскольку оно сразу дает почти весь нужный инструментарий в готовом виде. Повозиться пришлось только с установкой Selenium и его драйвера для Google Chrome. Но про это написано множество статей и руководств, поэтому повторяться не будем.
Jupyter похвалю отдельно, ибо это гениальный инструмент. Разработка с его помощью ускоряется в несколько раз за счет того, что мы не поднимаем окружение под новый проект, а можем «на коленке» сразу пробовать алгоритм в рамках блокнота, в котором до этого делали вообще другую задачу.
автоматизация
Автоматизация (ранее известная как OLE-автоматизация) позволяет одному приложению управлять объектами, реализованными в другом приложении, или выделять объекты для управления.
Сервер автоматизации — это приложение (тип COM-сервера), предоставляющее свои функции через COM-интерфейсы другим приложениям, называемым клиентами автоматизации. Это позволяет клиентам автоматизировать некоторые функции путем прямого доступа к объектам и использования предоставляемых ими возможностей.
Серверы и клиенты автоматизации используют COM-интерфейсы, которые всегда являются производными от IDispatch , и принимают и возвращают определенный набор типов данных, называемых типами автоматизации. Предоставив методы и свойства, доступные из других приложений, можно автоматизировать любой объект, который позволяет обращаться к интерфейсу автоматизации. Автоматизация доступна для OLE- и COM-объектов. Автоматизированный объект может быть локальным или удаленным (на другом компьютере, доступном по сети), поэтому существует две категории автоматизации.
- Автоматизация (локальная).
- Удаленная автоматизация (через сеть с использованием DCOM).
Предоставление доступа к объектам полезно в том случае, когда приложения предлагают функциональные возможности, полезные для других приложений. Например элемент управления ActiveX — это тип сервера автоматизации. Приложение, в котором размещается элемент управления ActiveX, является клиентом автоматизации этого элемента управления.
Другой пример: текстовый процессор может предоставлять свои функции по проверке орфографии другим программам. Благодаря доступу к объектам поставщики способны совершенствовать свои приложения с помощью готовых функциональных возможностей других приложений. Таким образом, автоматизация применяет некоторые принципы объектно-ориентированного программирования, такие как возможность многократного использования и инкапсуляции, на уровне самих приложений.
Особое значение имеет поддержка, предоставляемая автоматизацией пользователям и поставщикам решений. За счет доступа к функциональным возможностям приложений через стандартный и четко определенный интерфейс автоматизации позволяет создавать комплексные решения на одном общем языке программирования, например Visual Basic, а не прибегать к различным связанным с конкретными приложениями макроязыкам.
Многие коммерческие приложения, например Microsoft Excel и Microsoft Visual C++, допускают автоматизацию большей части своих функциональных возможностей. Например, в Visual C++, можно написать макросы VBScript для автоматизации построений, аспектов редактирования кода или задач отладки.
Передача параметров в автоматизации
Одна из сложностей при создании методов автоматизации заключается в обеспечении согласованного безопасного механизма для передачи данных между серверами и клиентами автоматизации. Для передачи данных автоматизация использует тип VARIANT . Тип VARIANT является помеченным объединением. У него есть элемент данных для значения (это анонимное объединение C++) и элемент данных, указывающий тип сведений, хранящихся в объединении. Тип VARIANT поддерживает ряд стандартных типов данных: 2- и 4-байтовые целые числа, 4- и 8-байтовые числа с плавающей запятой, строки и логические значения. Кроме того, он поддерживает типы HRESULT (коды ошибок OLE), CURRENCY (числовой тип с фиксированной запятой) и DATE (абсолютные дата и время), а также указатели на IUnknown интерфейсы и IDispatch .
Тип VARIANT инкапсулирован в класс COleVariant . Поддерживаемые классы CURRENCY и DATE инкапсулированы в классы COleCurrency и COleDateTime .
Примеры автоматизации
- AUTOCLIK Используйте этот пример, чтобы освоить приемы автоматизации и изучить основы удаленной автоматизации.
- ACDUAL Добавляет сдвоенные интерфейсы в приложение сервера автоматизации.
- CALCDRIV Приложение клиента автоматизации для реализации MFCCALC.
- INPROC Демонстрирует приложение внутрипроцессного сервера автоматизации.
- CALCDRIV Приложение клиента автоматизации для реализации INPROC.
- MFCCALC Демонстрирует приложение клиента автоматизации.
Что вы хотите узнать больше о
- Клиенты службы автоматизации
- Серверы автоматизации
- OLE
- Active — технология
Что Вы хотите делать
- Добавление класса автоматизации
- Использование библиотек типов
- Доступ к серверам автоматизации
- Написание клиентов автоматизации на C++
Источник: learn.microsoft.com