Links to like

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

LinksToLike – скраппер и он же честно-говоря бот-спаммер для Behance. Парсит новые проекты и оставляет комментарии, что-то навроде “Оу, у вас такой проект, будем рады если вы оцените и наш профиль”. Что на пике давало + 100 последователей в профиль. То есть было, 0, а через неделю стало 700, а через месяц 3000.

Как ни странно, основу бота лёг ruby) Это было бы не то что требование, а скорее личный интерес, и я знал что на стороне заказчика основной стек – ruby. Так что ребятам проще будет поддерживать знакомые технологии, чем например родной для меня js. Кроме того, в проекте использованы selenium + capybara, sinatra, ну и конечно полная настройка сервера. Другими словами под ключ.

Мне понравилось, что получилось в этом проекте использовать, эм, кажется, сейчас это называется микросервисы. Другими словами, было несколько ботов с разными предназначением, которые естественно ничего не знали друг о друге и работали независимо, при желании можно было бы разнести их на разные серверы. Один бот каждую минуту проверял наличие новых записей, выглядело для Behance, так будто реальный пользователь открывает страницу, смотрит одну две страницы и уходит. Естественно использовались разные прокси сервисы для подключения. Второй бот, заходил, проходил авторизацию и оставлял несколько комментариев, попутно проглядывая и другие страницы (ну, да я пытался подделаться под реального пользователя). Третий бот слал администраторам уведомления о состоянии, результатах.

Но, Behance, молодцы, они методично отлавливали и блокировали ботов, причём со стороны это выглядело так, будто всё ок. Просто когда бот оставлял комментарий, он не сохранялся.)

Кроме того к боту, смастерил небольшую админку\аналитику:

Telegram бот для Behance – на волне предыдущего проекта, сделал и этот. Основная задумка – пользователи из Telegram подписываются на области\категории проектов из Behance и получают уведомление когда выходит какой-то новый проект по их теме.

Я уже был знаком с Telegram Bot API, но каждый раз пробую что-то новое, в этот раз – был велосипед из своего state-machine. Так чтобы хранить текущее состояние пользователя. Как и в предыдущем проекте, этот состоит из нескольких сервисов. Один собирает из Behance API, новые проекты, второй, смотрел за подписками пользователей и новыми проектами, если было пересечение то складывал в БД задание на отправку уведомлений, третий эти уведомления отправлял. По традиции была небольшая админка на React, чтобы посмотреть какие записи отправлены, какие пользователи подписаны, отправить всем какое-то сообщение.

Этот проект я заморозил, хотя было подписано более 500 человек.

Leave a Reply

Your email address will not be published. Required fields are marked *