Простой бот-кликер на nodejs
Краткая суть:
Бот ходит по страницам одного e-commerce сайта и кликает на определенные ссылки через рассчитанные промежутки времени.
Особенности:
- Используем прокси сервер
- Все промежутки времени "рандомизируем" +- 75% от исходного значения. Хорошая библиотека для этого http://chancejs.com/
- Страницы открываем с фейковым user-agent. Генерим его с помощью подобного модуля https://www.npmjs.com/package/random-fake-useragent
- Ведем онлайн лог своих действий используя http://console.re/
На входе JSON:
{
"products": [
{
"SKU": "123456789",
"clicks": "100",
"hours": "5"
},
{
"SKU": "987654321",
"clicks": "200",
"hours": "3"
}
],
"keywords": [ "keyword1", "keyword2", "keyword3", "keyword4"]
}
Количество products от 1 и выше, количество keywords тоже.
Алгоритм работы:
Сначала, считаем частоту "F" кликов для каждого SKU.
Например: "123456789" мы хотим 100 кликов за 5 часов. Значит клик должен происходить в среднем 1 раз в 3 минуты.
Начало рабочего цикла
- Генерим URL : http://......./keyword1 (случайно выбираем из массива keywords)
- Открываем этот URL (через прокси и с fake user-agent) и сохраняем HTML страницы для последующей обработки
- Перебираем SKU по одному. Смотрим, прошло ли "F" минут с момента последнего клика на этот SKU.
"F "минут — это частота кликов для этого SKU. Частоту при проверке рандомизируем +- 75% от исходного значения. - Если "F" минут больше чем прошло с последнего клика, — ищем на сохраненной странице с помощью "Cheerio" определенную ссылку по текущему SKU (подробнее позже) и открываем ее, но не сразу а через random(15) секунд
- Уменьшаем счетчик оставшихся кликов для этого SKU, сохраняем время последнего клика.
С вероятностью 0.3 "кликаем" случайную ссылку с только что открытой страницы. Все, этот SKU обработан, переходим к следующему.
Когда мы прошли все SKU для текущего случайного "keyword", то цикл закончен. Запускаем его же снова через (Fmin +- 75%) секунд. "Fmin" это самая высокая частота кликов, из тех, что посчитали вначале. Например: SKU1 нужно кликать раз в 10 минут, а SKU2 раз в 3 минуты. Мы будем запускать цикл каждые 3 минуты, но SKU1 2 раза пропустится, потому что еще не прошло 10 минут с момента последнего клика.
Если мы все скликали и ни у одного из SKU нет больше кликов, то не рестартуем цикл, и ждем новых "заданий"
Если на вход поступает JSON пока цикл еще работает, пишем об этом в лог, JSON игнорим, работу не прерываем.
Предусмотреть специальный RESET ключ в JSON объекте, получив который, мы прерываем текущий цикл и ждем новых "заданий".
Все происходящее пишем в re.log, например:
- Кликаем случайную ссылку после перехода на
- Открыли страницу поиска с таким-то keyword
- Кликаем SKU1 осталось кликов 29
- Кликаем SKU2 осталось кликов 14
....
-
209 4 0 Качественно выполним поставленную задачу.
Skype: Team ArtSystem
Mail: [email protected]
Phone: +380997983974
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Оновлення дизайну на сайтіПотрібно оновити дизайн існуючого сайту, використовуючи HTML, CSS, JS: освіжити зовнішній вигляд, зробити його сучасним і адаптивним під мобільні пристрої. Потрібно додати плавні анімації та інтерактивні елементи. HTML та CSS верстання, Javascript та Typescript ∙ 12 хвилин тому ∙ 18 ставок |
Консультація та аудит поточного проєкту на Odoo 19 Community EditionШукаємо Odoo Developer — соло-розробника з досвідом розробки на Odoo 19 Community Edition, у тому числі за допомогою Claude Code. Нам потрібен спеціаліст, який має успішно реалізовані проєкти в Odoo та практичний досвід розробки з використанням Claude Code. Важливо: розглядаємо… C та C++, Javascript та Typescript ∙ 5 годин 51 хвилина тому ∙ 4 ставки |
Інтернет-магазину одягуПотрібен розробник для інтернет-магазину одягу Шукаю досвідченого розробника для створення повноцінного інтернет-магазину одягу з дроп-моделлю продажу. Що потрібно зробити: 6 сторінок: головна, товар, кошик, оформлення, акаунт, адмін панель Вхід через Google акаунт Кошик і… HTML та CSS верстання, Javascript та Typescript ∙ 2 дні 2 години тому ∙ 95 ставок |
Розробка повного стеку — Панель управління Amazon PPC (Етап 1)Потрібен full-stack розробник з досвідом роботи з Amazon API для реалізації Stage 1 внутрішнього PPC-дашборда. Проект реальний, дані живі, все готово до старту. Прототип фронтенда (5 сторінок, React + TypeScript): ЩО ВЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript +… Javascript та Typescript, Веб-програмування ∙ 4 дні 14 годин тому ∙ 31 ставка |
Розробка сайту-конструктора фотокниг і фоторамокМета проекту Необхідно розробити сучасний веб-сайт для замовлення фотокниг, фоторамок та іншої персоналізованої фотопродукції. Головне завдання проекту — надати клієнту можливість самостійно створити готовий макет виробу без участі дизайнера безпосередньо на сайті.Основний… Javascript та Typescript, Веб-програмування ∙ 6 днів 6 годин тому ∙ 98 ставок |