Простой бот-кликер на 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
Aktualne zlecenia dla freelancerów w kategorii Javascript & Typescript
Sklep internetowy z odzieżąPotrzebny programista do sklepu internetowego z odzieżą Szukam doświadczonego programisty do stworzenia pełnoprawnego sklepu internetowego z odzieżą z modelem sprzedaży dropshipping. Co należy zrobić: 6 stron: strona główna, produkt, koszyk, zamówienie, konto, panel… Układ HTML i CSS, Javascript & Typescript ∙ 14 godzin 31 minut temu ∙ 66 ofert |
Full-stack rozwój — Amazon PPC Dashboard (Etap 1)Potrzebny programista full-stack z doświadczeniem w pracy z Amazon API do realizacji Etapu 1 wewnętrznego dashboardu PPC. Projekt realny, dane żywe, wszystko gotowe do startu. Prototyp frontendu (5 stron, React + TypeScript): CO JUŻ GOTOWE — Prototyp frontendu na React 18 +… Javascript & Typescript, Programowanie stron internetowych ∙ 3 dni 1 godzina temu ∙ 28 ofert |
Opracowanie strony internetowej do tworzenia fotoksiążek i ram fotowychCel projektuNależy opracować nowoczesną stronę internetową do zamawiania fotoksiążek, ram fotowych i innych spersonalizowanych produktów fotograficznych.Głównym celem projektu jest umożliwienie klientowi samodzielnego stworzenia gotowego projektu produktu bez udziału projektanta… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 17 godzin temu ∙ 96 ofert |
Zespół do samodzielnie stworzonej platformy rynkowej usług pogrzebowych.Poszukujemy zespołu do uruchomienia i rozwoju autorskiej krajowej platformy rynkowej usług pogrzebowych. Od razu: nie szukamy pojedynczych osób, juniorów ani "zbieraczy stron". Potrzebny jest silny zespół produktowy na poziomie middle+/senior z rzeczywistymi przypadkami… Javascript & Typescript, Programowanie stron internetowych ∙ 5 dni 12 godzin temu ∙ 27 ofert |
Dopracowanie istniejącego projektu Next.js/Supabase: oferty, CRM, analityka, czat AIIstnieje działający projekt WatchGenius — platforma analityczna luksusowych zegarków z katalogiem modeli, analizą cen, zewnętrznymi ofertami, formularzami zgłoszeniowymi i czatem AI. Projekt został już częściowo opracowany. Potrzebny jest doświadczony programista full-stack,… Javascript & Typescript, Programowanie stron internetowych ∙ 7 dni 13 godzin temu ∙ 55 ofert |