Програма (Python + Playwright або Node.js + Puppeteer) для Windows
1508 UAHПотрібна програма (Python / Node.js) для Windows - Запускається вручну та:
Заходить на сайт: https://threeplus.three.co.uk
Використовує вже залогінені мої Chrome-профілі (без авторизації) або ім'я - пароль.
У кожному акаунті:
Переходить до розділу з кодами
Копіює 1 числовий код
Зберігає його у CSV
Обробляє 20 перших рахунків із CSV-файлу, після чого автоматично завершується.
ВСЕ!
📂 Те саме — іншими словами:
У мене є файл CSV із 30–50... обліковими записами.
(Я заплатив та легально зареєструвався на сайті — пройшов СМС-підтвердження).
Програма при запуску має обробляти по черзі перші 20 рахунків та вимикатися.
❗ Вимоги:
❌ Не використовувати Selenium, WebDriver, ZennoPoster, headless-браузери тощо
❌ Не використовувати проксі / VPN
✅ Використовувати реальні Chrome-профілі
✅ Імітація поведінки людини (невеликі затримки, справжні кліки)
✅ Повністю локальне рішення (без хостингу або хмар)
💸 Розраховую на недорогу реалізацію
(у тому числі — бо сайт змінюється кілька разів на місяць — я регулярно звертатимусь до вас з оплатою для дрібних правок)
💬 У заявці вкажіть:
Яку мову та бібліотеку плануєте використовувати (Python/Playwright, Node.js/Puppeteer тощо)
Як працюватиме ваша програма
🎯 Мета
Створити десктопну програму або скрипт (на Python або Node.js), який автоматично відкриває реальні Chrome-профілі, заходить у 20 облікових записів Three+, витягує код (число) зі сторінки після входу й додає його до тієї ж CSV-таблиці.
⚙️ Функціональність
Програма запускається вручну на Windows (без фонових служб або автозапуску).
Обробляє перші 20 акаунтів за запуск (кількість задається в конфігу).
Працює через реальний Chrome із локальними профілями (
user-data-dir+profile-directory).Не використовує headless-режими, Selenium або HTTP-запити.
Імітує дії людини: відкриття браузера, навігація, кліки, паузи.
Пропускає обліковки, з яких код уже отримано — визначає це через дані в тій же CSV.
🔄 Алгоритм роботи
Відкриває Chrome з відповідним профілем, який уже залогінений у Three+.
Переходить до розділу Cineworld, натискає кнопку Get Reward.
Отримання коду:
a) Код зʼявляється у спливаючому вікні — зчитується й зберігається.
b) У поодиноких випадках у вікні зʼявляється лінк “Go to yours codes” — тоді програма переходить туди й бере код.
У будь-якому випадку, після натискання "Get Reward" код завжди йде в розділ My Codes, логічно щоб програма зчитувати його звідти.
Зберігає код у відповідну колонку у тому ж CSV-файлі поруч із логіном.
Закриває браузер, але не виходить з акаунту.
Обробляє наступні акаунти (до 20), пропускаючи вже оброблені.
Завершує роботу.
Наступного запуску програма продовжує з наступних необроблених записів.
⚙️ Конфігурація (settings.json або .ini)
Шлях до Chrome (
chrome.exe)Список профілів (імена або шляхи)
URL Rewards (змінюється щотижня)
Затримки між діями: 2–3 хвилин (random)
Шлях до CSV-файлу
🗺️ Особливості сайту
Rewards URL змінюється щопонеділка (потрібно зробити, щоб задавався у settings)
Сайт побудований на Flutter Web (canvas), HSTS активний, Капчі немає
🛠️ Технології
Python + Playwright або Node.js + Puppeteer
Використання реальних Chrome-профілів
Pauses:
random + time.sleep()Конфігурація через JSON або INI
📝 Чекаю на вихід
.exeфайл для WindowsПовний вихідний код із коментарями
README-файл з інструкцією
Приклад конфігураційного файлу
🚨 Важливо
🧍♂️ Усі дії мають імітувати ручну роботу користувача.
Програма має працювати максимально «по-людськи» (з паузами, справжніми User-Agent та без різких одночасних запитів), щоб уникнути блокувань або запитів на SMS-підтвердження.
✅ Вручну сайт працює стабільно — за 10 хвилин я можу без проблем отримати коди з 40-60 облікових записів.
Програма може не виконувати логін — а використовує вже залогінені профілі.
Вся поведінка має бути максимально «людською»: відкритий браузер, затримки, реальні кліки, уникаємо одночасних запитів.
IP не змінюється, проксі не використовується.
🔹 Python + Playwright або Node.js + Puppeteer — це дійсно правильний вибір, оскільки:
Вони дозволяють запускати реальний Chrome з профілями, без headless і без зайвих емулювань.
Працюють стабільно навіть з сайтами на Flutter Web (як у випадку з Three+).
🔹 Немає авторизації — вхід виконується через існуючі профілі, тож ризик отримати SMS підтвердження мінімальний (при правильній симуляції користувача).
🔹 Збір коду через page.evaluate() — ефективно і природно, особливо при навігації через My Codes.
🔹 Затримки, кліки, поведінка користувача — важливий елемент: імітація ручної роботи (кожен профіль відкривається окремо, діє з паузами) — це ключ до уникнення блокувань.
🔹 CSV-логіка — правильна: зчитування, перевірка, оновлення — все в межах одного файлу, без зайвих баз даних.
🔹 Жодних headless, Selenium чи проксі — це саме те, що потрібно для безпечної автоматизації у такому чутливому середовищі.
✅ Якщо все реалізовано саме так — програма буде на 100% відповідати вимогам, і працюватиме максимально надійно, як ручна взаємодія.
1. Загальні вимоги
Програма повинна запускатись вручну, працювати локально на Windows.
Використовувати реальний браузер Chrome, запускати його з існуючими користувацькими профілями.
Забезпечити максимальну імітацію поведінки людини (затримки, кліки, навігація).
Заборонено використання headless режимів, Selenium/WebDriver, API-запитів, проксі, багатопотокового одночасного запуску.
Результати записувати в CSV-файл у відповідні колонки.
Програма обробляє до 20 акаунтів за один запуск.
2. Вхідні параметри (файл settings.json)
json{
"chrome_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
"profiles": [
{
"user_data_dir": "C:\\Users\\User\\AppData\\Local\\Google\\Chrome\\User Data",
"profile_dir": "Profile 1"
},
...
],
"rewards_url": "https://threeplus.three.co.uk/rewards",
"csv_path": "C:\\path\\to\\accounts.csv",
"delay_range_seconds": [90, 240]
}
chrome_path – повний шлях до
chrome.exe.profiles – масив об'єктів з двома параметрами:
user_data_dir(коренева директорія Chrome) іprofile_dir(папка профілю).rewards_url – актуальна URL сторінки з винагородами.
csv_path – повний шлях до CSV файлу з акаунтами.
delay_range_seconds – масив з двох чисел, що задають мінімальну та максимальну випадкову затримку між діями (в секундах).
3. Формат CSV файлу
Файл містить мінімум такі колонки:
account— унікальний ідентифікатор акаунта (email, login або інше).code— колонка для запису отриманого коду (спочатку порожня).
4. Логіка роботи програми
Завантаження конфігурації
Програма читає
settings.json.Перевіряє наявність Chrome за шляхом
chrome_path.Завантажує список профілів.
Завантаження CSV
Читає CSV-файл.
Визначає акаунти з порожнім полем
code(необроблені).
Обробка акаунтів
Для кожного необробленого акаунта (до 20 на один запуск) виконує:
a. Запускає Chrome черезsubprocessіз параметрами:ini
--user-data-dir=<user_data_dir>
--profile-directory=<profile_dir>
--remote-debugging-port=9222
b. Підключається до браузера через CDP (Playwright/Puppeteer).
c. Переходить на сторінкуrewards_url.
d. Чекає повного завантаження сторінки.
e. Натискає кнопку Get Reward.
f. Якщо з'являється модальне вікно з кодом — зчитує код (текстовим способом або OCR, якщо треба).
g. Якщо є посилання Go to My Codes — переходить туди та зчитує код.
h. Записує код у відповідну колонкуcodeCSV-файлу.
i. Закриває браузер, не виходячи з профілю (браузер повинен бути повністю закритий).
j. Чекає випадкову затримку в межахdelay_range_secondsперед наступним акаунтом.
Завершення роботи
Після обробки до 20 акаунтів зберігає оновлений CSV.
Завершує роботу.
5. Важливі заборони
| Дія | Причина заборони |
|---|---|
| Використання Selenium/WebDriver | Легко виявляється і призводить до SMS-підтверджень |
| Запуск Chrome у headless режимі | Детектується через navigator.webdriver та інші сигнали |
| Здійснення HTTP або API запитів до three.co.uk | Сайт використовує Flutter Web і рендеринг canvas, звичайні запити не працюють |
| Одночасний запуск >1 браузера | Приводить до блокування акаунтів як боти |
| Затримки менше 5 секунд | Не відповідають поведінці реальної людини, викликають підозри |
| Зміна IP або використання проксі | Порушує відповідність IP і профілю, викликає повторну авторизацію |
6. Рекомендовані технології
| Компонент | Рекомендації |
|---|---|
| Мова | Python 3.10+ або Node.js v18+ |
| Інструмент | Playwright (Python) або Puppeteer (Node.js) |
| Автоматизація | launchPersistentContext (Playwright) для реального профілю |
| Симуляція дій | Натискання кнопок, скрол, випадкові затримки |
| Збереження даних | pandas (Python) або csv-parser (Node.js) для роботи з CSV |
7. Додаткові вимоги
Логування дій для діагностики (збереження в окремий лог-файл).
Обробка помилок: коректне завершення роботи при збоях, можливість повторного запуску з місця зупинки.
Лаконічний і зрозумілий інтерфейс командного рядка (наприклад, інформування про поточний акаунт, статус обробки).
Ось фінальний оновлений текст технічного завдання, вже з урахуванням всіх правок, включаючи єдиний спосіб отримання коду через "My Codes", без OCR і модальних вікон:
🎯 Мета
Створити десктопну програму (на Python або Node.js), яка автоматично відкриває реальні Chrome-профілі, заходить у 20 облікових записів Three+, натискає Get Reward, переходить у My Codes, витягує код у вигляді TH3DC\d{9,} та додає його у відповідний рядок CSV.
⚙️ Функціональність
Запускається вручну на Windows (без автозапуску або служб).
Працює через реальний Chrome із локальними профілями (
user-data-dir+profile-directory).Не використовує headless-режим, Selenium, HTTP-запити або проксі.
Імітує людські дії: запуск браузера, натискання, переходи, паузи.
Обробляє до 20 акаунтів за запуск (вказується в конфігу).
Пропускає акаунти, де вже є код у CSV.
🔄 Алгоритм роботи
Крок 1: Завантаження конфігурації
Зчитує
settings.json(chrome path, список профілів, CSV шлях, затримки).Зчитує CSV, визначає акаунти без коду.
Крок 2: Обробка кожного профілю
Запускає Chrome із вказаним профілем:
iniCopyEdit--user-data-dir=<user_data_dir>
--profile-directory=<profile_dir>
--remote-debugging-port=9222Підключається через CDP (Playwright або Puppeteer).
Відкриває
rewards_url.Чекає повного завантаження сторінки.
Натискає кнопку
Get Reward(дійсним кліком, не.click()): дійсний клік (через Playwright/Puppeteer з mouse.move + mouse.down + mouse.up, без .click()).Чекає 3–5 секунд.
Крок 3: Зчитування коду з My Codes
Переходить на сторінку
https://threeplus.three.co.uk/my-rewards
(або натискаєGo to my codes, якщо вона зʼявилася після Get Reward).Шукає останній код у форматі
TH3DC\d{9,}у DOM (через innerText / textContent).Зберігає у CSV у вигляді:
CopyEditProfile_01,TH3DC103897998490
Закриває браузер (але не виходить з акаунта).
Чекає випадкову затримку (20–40 секунд).
Повторює до 20 акаунтів.
🧠 Як саме зчитується код (чіткий алгоритм)
OCR, скриншот та модальні вікна не використовуються.
Код завжди зчитується зі сторінки My Codes - після натискання "Get Reward"
Вигляд коду:
TH3DC103897998490(шаблон:TH3DC\d{9,}).Читання: через DOM (
innerText,textContent,evaluate()).
⚙️ Конфігурація (settings.json)
jsonCopyEdit{
"chrome_path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
"profiles": [
{
"user_data_dir": "C:\\Users\\User\\AppData\\Local\\Google\\Chrome\\User Data",
"profile_dir": "Profile 1"
}
// ...
],
"rewards_url": "https://threeplus.three.co.uk/rewards",
"csv_path": "C:\\path\\to\\accounts.csv",
"delay_range_seconds": [90, 240]
}📄 Формат CSV
csvCopyEditaccount,code
profile_01,
profile_02,
account— ідентифікатор профілюcode— поле, куди буде вписаний отриманий код
🚫 Заборонено
| Дія | Причина |
|---|---|
| Selenium/WebDriver | Легко детектується, викликає SMS |
| Headless режим | Детектується сайтом |
| HTTP/API запити | Flutter Web, Canvas rendering |
| Багатопотокова обробка | Викликає підозру/блокування |
| Проксі або зміна IP | Викликає ре авторизацію |
| Затримки < 5 секунд | Нетипова поведінка |
📦 Очікувані файли на виході
.exeдля Windows (1 файл).Повний вихідний код з коментарями.
README.mdз інструкцією.Приклад
settings.json.
🛠️ Рекомендовані технології
| Компонент | Інструмент |
|---|---|
| Мова | Python 3.10+ або Node.js 18+ |
| Автоматизація | Playwright або Puppeteer |
| Робота з CSV | pandas (Python) або csv-parser |
| Симуляція дій | Кліки, паузи, скрол, реальні профілі |
Додатки 1
Відгук замовника про співпрацю з Олександром Леоновим
Програма (Python + Playwright або Node.js + Puppeteer) для WindowsОлександр — справжній геній своєї справи!
Я вражений його роботою! Олександр вирішив задачу, яку не змогли розв’язати понад десяти інших фахівців. Він зробив це швидко, ідеально та без зайвих запитань. Все було виконано з максимальною точністю та увагою до деталей.
Завжди на зв'язку, чітко розуміє завдання, і що найважливіше — він не просто пропонує рішення, а запропонував варіанти, набагато кращі, ніж я міг уявити! Це просто неймовірно! Я був вражений його здатністю знаходити рішення, які перевершили всі мої очікування.
Олександр не просто виконує роботу — він створює ефективні стратегії, які покращують не лише технічний бік проєкту, але й досвід кінцевого користувача. Його уважність до кожної дрібниці та здатність швидко адаптуватися до нових умов дійсно вражають.
Співпраця з Олександром — це справжнє задоволення! Його професіоналізм, доброзичливість та готовність допомогти в будь-який час створюють атмосферу взаємної довіри. Якщо вам потрібен талановитий, надійний та відповідальний фахівець, я сміливо рекомендую Олександра!
Дякую ще раз за бездоганну роботу та надзвичайно продуктивну співпрацю! Я обов'язково звертатимусь до вас знову!
Відгук фрилансера про співпрацю з Igor D.
Програма (Python + Playwright або Node.js + Puppeteer) для WindowsПрацювати було комфортно та продуктивно. Технічне завдання було зрозумілим, а неясні моменти легко уточнювались у процесі. Замовник завжди на зв’язку, швидко реагує та надає зворотний зв’язок. Враження від співпраці позитивне. Рекомендую.
-
5 днів6651 UAH
512 3 0 5 днів6651 UAHПривіт! Готовий розробити для вас якісного бота для автоматичного парсингу. ТЗ дуже якісне, тому питань немає. Для розробки скрипта буду використовувати Python + Playwright. З цими технологіями знайомий вже більше 3 років і за всю кар'єру розробляв дуже різні рішення. Наприклад, за допомогою асинхронного playwright було завдання налаштувати Парсинг товарів за запитом з Aliexpress. Буду радий з вами співпрацювати!
-
Переможець3 дні1508 UAH
528 7 0 Переможець3 дні1508 UAHВітаю! Маю досвід створення подібних рішень на Node.js + Puppeteer з підтримкою реальних Chrome-профілів. Реалізую згідно усіх вимог.
-
7 днів2217 UAH
456 7 0 7 днів2217 UAHДоброго дня! Пишу вже довгий час на пітоні, а саме з бібліотекою playwright. В реалізації є вже купа парсерів, з радістю допоможу Вам з цією задачою.
Задумка цікава. Насправді робив вже подібні проекти, з "живою" взаємодією. Пишіть в особисті, хотілось би отримати необхідні вхідні данні, уточнити деякі питання, та почну працю.
-
2 дні1552 UAH
1014 6 0 2 дні1552 UAHВітаю, зроблю на Node.js + Puppeteer. Робив схожі програми під спам сайті та фарм акаунтів. Знаю на що звертати увагу що б сервіси не палили скрипт
-
16 днів17 736 UAH
1825 52 0 16 днів17 736 UAHДоброго дня. Пишу програми для автоматизації різних процесів на python. Також в основном використовую Playwright. На 99 відсотків впевнений що можу реалізувати проект. Тільки потрібно перед початком потрібно буде провести тести - а для тестів потрібен буде один із профілей
-
Вже був цей проект...
-
Ви ж все розписали в описі до проекту. Навіщо вам спеціаліст 😁
-
блокуємо цей проект
-
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Розробка повного стеку — Панель управління Amazon PPC (Етап 1)Потрібен full-stack розробник з досвідом роботи з Amazon API для реалізації Stage 1 внутрішнього PPC-дашборда. Проект реальний, дані живі, все готово до старту. Прототип фронтенда (5 сторінок, React + TypeScript): ЩО ВЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript +… Javascript та Typescript, Веб-програмування ∙ 7 годин 8 хвилин тому ∙ 12 ставок |
Розробка сайту-конструктора фотокниг і фоторамокМета проекту Необхідно розробити сучасний веб-сайт для замовлення фотокниг, фоторамок та іншої персоналізованої фотопродукції. Головне завдання проекту — надати клієнту можливість самостійно створити готовий макет виробу без участі дизайнера безпосередньо на сайті.Основний… Javascript та Typescript, Веб-програмування ∙ 1 день 23 години тому ∙ 88 ставок |
Повноцінна розробкаNeed a full-stack developer who is free for work and not looking to get rich immediately from this project. This is my test site: readyhome.ge the prototype of which I want to create (not referring to design). In the footer, there is Russian language, fill out the questionnaire… Javascript та Typescript, Веб-програмування ∙ 2 дні 11 годин тому ∙ 79 ставок |
Команда для самописного маркетплейса ритуальних послуг.Шукаємо команду для запуску та розвитку самописного національного маркетплейсу ритуальних послуг. Одразу: не шукаємо одиночок, джунів і “збирачів сайтів”. Потрібна сильна продуктова команда рівня middle+/senior з реальними кейсами маркетплейсів/складних SaaS. Прошу не… Javascript та Typescript, Веб-програмування ∙ 2 дні 17 годин тому ∙ 25 ставок |
Доопрацювання існуючого проекту Next.js/Supabase: оффери, CRM, аналітика, AI-чатЄ діючий проект WatchGenius — платформа аналітики люксових годинників з каталогом моделей, ціновою аналітикою, зовнішніми офферами, формами заявок та AI-чатом. Проект вже частково розроблений. Потрібен не сайт з нуля, а досвідчений full-stack розробник, який зможе розібратися в… Javascript та Typescript, Веб-програмування ∙ 4 дні 19 годин тому ∙ 54 ставки |