- Основная архитектура и зависимые библиотеки
Этот сценарий запускается на основе Tampermonkey, имеет модульную конструкцию и в основном полагается на следующие внешние библиотеки для обработки сложных данных: - Анализ модулей основных функций
2.1 Проверка лицензии и механизм защиты от злоупотреблений
2.2 Сетевой уровень перехват («Глаза»)
Скрипт реализует захват без данных, переписывая собственный API браузера:
Перехват XMLHttpRequest & Fetch:
Снимок среды:
Мониторинг данных:
Предварительный захват WebSocket (только для прямой трансляции):
Для live.douyin.com сценарий перехватывает конструктор WebSocket на очень ранней стадии загрузка страницы (документ-старт).
Захватите ссылку на прямую трансляцию, начинающуюся с wss://, смонтируйте прослушиватель событий сообщений и переправьте двоичные данные во внутренний декодер.
2.3 Расширенные функции комнаты прямой трансляции (прямая трансляция)
Это самая техническая часть скрипта:
Обратное использование протокола Protobuf:
Сценарий имеет встроенное определение Protobuf (PROTO_JSON) живого сообщения Douyin.
Процесс декодирования: двоичные данные WebSocket -> декомпрессия Pako (Gzip) -> декодирование Protobuf -> извлечение WebcastChatMessage.
Захват и экспорт заграждений:
Анализ ника пользователя, UID, учетной записи Douyin, содержимого заграждения, пола и другой информации в режиме реального времени.
Поддерживает экспорт в Excel и автоматически очищает кеш после экспорта.
Захват адреса прямой трансляции:
Автоматический анализ адреса потоковой передачи FLV в комнате прямой трансляции, отдавая приоритет наивысшему качеству (FULL_HD1).
Автоматическое взаимодействие:
Поддерживает фиксированные слова и генерацию искусственного интеллекта на месте (ответ генерируется на основе контекста последних 10 комментариев).
Имитация пользовательского ввода: имитируйте реальный ввод текста, вызывая события InputEvent и клавиатуры (Enter) вместо простых вызовов API, чтобы снизить риск блокировки учетной записи.
2.4 Интеллектуальная система комментариев AI («Мозг»)
Скрипт объединяет мощные возможности генерации искусственного интеллекта и поддерживает два режима:
Локальная модель (Ollama): вызывает локальный API (http://127.0.0.1:11434), проверка через Интернет не требуется и подходит для защиты конфиденциальности.
Онлайн-модель (OpenAI/DeepSeek): поддерживает потоковую передачу (SSE) и непотоковый вывод.
Учет контекста:
Когда ИИ генерирует комментарии, он считывает название видео, хэштег, подпись автора, ключевые слова, извлеченные с помощью OCR, и 15 самых популярных комментариев.
Проект Prompt Word: встроенная подробная системная подсказка («Вы мастер TikTok...»), требующая, чтобы контент был позитивным, кратким и лаконичным.
2.5 Сбор и экспорт данных (скрапинг)
Скрипт реализует полный сбор данных по различным измерениям:
Сбор комментариев: рекурсивно фиксирует основные комментарии и подкомментарии к видео, включая подробные портреты пользователей (IP, возраст, созвездие, количество поклонников и т. д.), и экспортирует их в Excel.
Коллекция фанатов: автоматически переворачивайте страницы на личной домашней странице, чтобы записать список фанатов.
Поиск: записывайте информацию о пользователе в результаты поиска.
Загрузка видео:
Загрузка через браузер: используйте функцию загрузки напрямую в браузере.
Пересылка Motrix: поддерживает отправку JSON-RPC в загрузчик Motrix (aria2.addUri), поддерживает пользовательский токен и подходит для пакетной высокоскоростной загрузки.
2.6 Автоматизация (автоматизация)
Имитация пролистывания видео:
Используйте события WheelEvent (колесо) и ArrowDown (клавиатура) для имитации скольжения вручную.
Встроенное случайное время ожидания (от minTime до maxTime) для имитации человеческих привычек просмотра.
Автоматические лайки/коллекции: автоматическая отправка запросов API на основе заданной вероятности (например, 30%).
Автоматический ответ Центра авторов:
Особая логика для Creator.douyin.com.
Определяйте комментарии без ответа, вызывайте API создателя для пакетного ответа и поддерживайте искусственный интеллект для создания контента ответа.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ic-interac