Эмулятор одновременного просмотра видеофайлов YouTube канала в нескольких браузерах.
- По заданной ссылке YouTube канала из
channel.json
программа с помощью YouTube API парсит список видео данного канала. - Программа получает список YouTube аккаунтов из файла
account.json
и список проски-серверов из файлаproxy.txt
для просмотра видео. - Python скрипт распределяет полученные аккаунты на блоки: в каждом блоке могут находится до 10 аккаунтов. Для каждого блока запускается Node.js скрипт. Кол-во блоков <= кол-ву ядер процессора машины, на которой запускается программа.
- По заданному блоку Node.js скрипт асинхронно запускает инстансы Chromium браузера с помощью
Puppeteer
для каждого аккаунта. - Инстанс Chromium браузера начинает просмотр видео заданного аккаунта в случайном порядке.
- Каждое видео перематывается в случайных местах на случайное время, но так, чтобы суммарное время просмотра видео составляло не менее 90% от продолжительности всего видео.
- Таким образом, максимальное кол-во одновременно запущенных инстансов браузера = 10 * (кол-во ядер процессора). Если кол-во заданных аккаунтов будет превышать это число, то необработанные аккаунты будут поставлены в очередь на просмотр. Экземпляр браузера завершает свою работу при окончании просмотра всех видео заданного канала.
Ссылку на YouTube канал следует вставить в поле url
файла channel.json
YouTube аккаунты для просмотра видео следует добавлять в файл account.jsson
через запятую в формате:
{
"login": "myusername",
"password": "mypassword"
}
Прокси-сервера следует добавлять в файл proxy.txt
, каждый с новой строки в формате:
hostname:port:login:password
Если оставить файл proxy.txt
пустым, то процессы будут запущены без прокси и будет выведен warning об
отсутствии прокси.
Укажите в поле executablePath
файла launch.json
путь к Chromium на своем компьютере (чаще всего /usr/bin/chromium)
Если вы запускаете проект на Windows, оставьте поле поле executablePath
файла launch.json
пустым.
Для парсинга видеофайлов с указанного YouTube канала добавьте свой YouTube API_KEY в поле API_KEY
файла youtubeAPI.json
- Склонируйте проект себе на компьютер:
git clone https://github.com/cooleck/YouTubeBot
- Удостоверьтесь, что на вашем компьютере установлены:
Node.js
,Python >=3.8
,npm
иpip
- Зайдите в корень проекта и выполните:
cd YouTubeViews && npm install && pip install -r requirements.txt
- Скачайте
pyinstaller
для сборки проекта:pip install pyinstaller
- Перейдите в директорию с лаунчером проекта и соберите файл
run.py
:cd src/launcher && pyinstaller run.py
- Исполните файл run из директории
YouTubeViews/src/launcher/dist/run
:cd dist/run && ./run
Для Windows выполняется аналогичная установка с идентичными командами, однако следует их вводить последовательно без &&
.
Также для исполнения файла run
выполните: start ./run.exe