Skip to main content
Glama
nideaon

xhs-comment-analyzer

by nideaon

Инструмент анализа комментариев Xiaohongshu (XHS Comment Analyzer)

Инструмент для автоматического сбора и анализа UGC-комментариев на Xiaohongshu, ориентированный на команды бренд-маркетинга. Поддерживает поиск заметок по комбинации брендовых и категорийных слов, массовое извлечение комментариев (включая подкомментарии), трёхмерный анализ (ключевые слова / эмоции / популярность) и экспорт отчётов в форматах Excel+JSON. Работает в виде MCP-сервера, может вызываться напрямую AI-клиентами (TRAE / Claude / Cursor), а также поддерживает автономный запуск через CLI.

Ключевые возможности

  • Автоматический поиск заметок: поиск по комбинации брендовых и категорийных слов, автоматическая подгрузка прокруткой, интеллектуальная фильтрация нерелевантного контента.

  • Массовый сбор комментариев: последовательное открытие страниц деталей заметок, извлечение полной информации о родительских и дочерних комментариях, поддержка возобновления прерванного сбора.

  • Трёхмерный движок анализа: извлечение ключевых слов с помощью jieba+TF-IDF, классификация эмоций на основе словаря + правил, оценка популярности (взаимодействие × временное затухание).

  • Экспорт отчётов в двух форматах: отчёт Excel из 5 листов + структурированные данные JSON.

  • Интеграция с AI-рабочими процессами: MCP-сервер предоставляет 4 инструмента, поддерживает управление всем процессом на естественном языке.

Related MCP server: Xiaohongshu (RedBook) MCP Server

Быстрый старт

Установка

pip install -e .
playwright install chromium

Запуск тестов

python -m pytest tests/ -v

Использование CLI

# 首次使用:检查登录状态(会打开浏览器,手动完成登录)
python run.py login

# 搜索并抓取评论(使用预设配置)
python run.py search

# 抓取单篇笔记评论
python run.py single "https://www.xiaohongshu.com/search_result/xxx?xsec_token=yyy"

# 对已有 JSON 重新分析
python run.py analyze data/output/report.json

Конфигурация MCP

Добавьте в конфигурацию MCP в TRAE / Claude / Cursor:

{
    "mcpServers": {
        "xhs-comment-analyzer": {
            "command": "python",
            "args": ["-m", "src.mcp_server"],
            "cwd": "/path/to/xhs-comment-analyzer-package"
        }
    }
}

После настройки AI-клиент может вызывать на естественном языке: "Помоги найти комментарии о мелкой бытовой технике Bear Electric и сгенерировать аналитический отчёт".

Список инструментов MCP

Инструмент

Функция

run_search_task

Массовый поиск заметок по бренду+категории, сбор комментариев, анализ и экспорт

scrape_single_note

Сбор комментариев с одной заметки Xiaohongshu и их анализ

analyze_comments

Повторный анализ ключевых слов/эмоций/популярности для уже собранного JSON-файла

check_login_status

Проверка статуса входа в Xiaohongshu

Структура проекта

xhs-comment-analyzer-package/
├── src/                                # 源代码
│   ├── scraper/                        # 抓取层
│   │   ├── browser.py                  # Playwright 浏览器管理 (登录态持久化、反检测)
│   │   ├── comment_scraper.py          # 评论抓取核心 (搜索/单篇/批量/断点续抓)
│   │   └── models.py                   # 数据模型 (7 个 Pydantic 模型)
│   ├── analyzer/                       # 分析层
│   │   ├── keywords.py                 # 关键词提取 (jieba + TF-IDF)
│   │   ├── sentiment.py                # 情感分类 (词典 + 规则)
│   │   └── heat.py                     # 热度评分 (互动量 × 时效衰减)
│   ├── exporter/
│   │   └── excel_exporter.py           # 导出 Excel (5 Sheet) + JSON
│   └── mcp_server.py                   # MCP Server (4 个工具)
├── tests/                              # 单元测试 (38 个用例)
├── data/
│   ├── cookies/                        # 登录 cookie 持久化
│   ├── dictionaries/                   # 自定义词典
│   │   ├── domain_words.txt            # 领域词典 (69 个小家电术语)
│   │   ├── stopwords.txt               # 停用词表
│   │   ├── positive_words.txt          # 正面情感词
│   │   ├── negative_words.txt          # 负面情感词
│   │   ├── negation_words.txt          # 否定词
│   │   └── degree_adverbs.txt          # 程度副词 (词<TAB>权重)
│   └── output/                         # 导出文件 (Excel/JSON)
├── docs/                               # 产品文档
│   └── xhs-product-doc.html            # 完整产品文档 (PRD/架构/工作流/算法/接口)
├── run.py                              # CLI 入口 (login/search/single/analyze)
├── conftest.py                         # pytest 配置
├── pyproject.toml                      # 依赖管理
├── .gitignore
└── README.md

Формат вывода

Отчёт Excel (5 листов)

Лист

Содержание

Детали комментариев

Все комментарии, отсортированные по популярности, включая заголовок заметки/URL/текст комментария/автора/время/лайки/ответы/эмоцию/популярность

Аналитическое резюме

Количество собранных заметок, общее количество комментариев, комментарии, связанные с продуктом, статистика распределения эмоций

Топ-10 ключевых слов

Высокочастотные ключевые слова и их доля

Топ-10 горячих комментариев

10 комментариев с наивысшим баллом популярности

Сводка по заметкам

Количество лайков, комментариев и общий балл популярности для каждой заметки

Отчёт JSON

Структурированные полные данные, включающие конфигурацию задачи, статистику сводки, список ключевых слов, полный список комментариев и пути к файлам, удобно для повторного использования программами.

Ключевые алгоритмы

Извлечение ключевых слов (jieba + TF-IDF)

Каждый комментарий рассматривается как отдельный документ. После сегментации jieba удаляются стоп-слова и односимвольные слова, вычисляется вес TF-IDF (сглаживание в стиле sklearn), возвращаются топ-10 ключевых слов и их доля. Встроенный словарь предметной области мелкой бытовой техники (69 терминов) предотвращает разбиение составных слов.

Анализ эмоций (словарь + правила)

Основан на словаре положительных/отрицательных эмоций + инверсия отрицаний (окно из 2 предшествующих слов, поддержка двойного отрицания) + взвешивание наречий степени ("очень" ×1.5, "особенно" ×2.0 и т.д.). Нормализация до диапазона [-1, 1], отображение на метки положительный/отрицательный/нейтральный.

Оценка популярности (взаимодействие × временное затухание)

base_score = like_count × 2 + reply_count × 3 + sub_comment_count × 1
time_decay = 0.95 ^ days_ago
heat_score = (base_score × time_decay / max_raw_heat) × 100

Вес количества ответов самый высокий (3), так как ответы указывают на глубокое обсуждение; лайки — средний (2); дочерние комментарии — самый низкий (1). Затухание 5% в день, чтобы недавние высокоактивные комментарии были в приоритете.

Безопасность

  • Не обходит проверки: инструмент не вводит логин/пароль, не имитирует сканирование QR-кода, не обрабатывает капчу автоматически.

  • Приоритет ручного вмешательства: все операции входа и капчи выполняются человеком в видимом окне браузера.

  • Видимый браузер: всегда используется headless=False, пользователь может видеть и вмешиваться в любой момент.

  • Предупреждение о рисках: автоматическая остановка после 3 последовательных появлений капчи для предотвращения срабатывания защиты.

  • Возобновление с точки останова: поддержка прерывания и восстановления, прогресс сохраняется в progress.json.

  • Персистентность Cookie: состояние входа сохраняется в xhs_cookies.json, избегая частого повторного входа.

Технологический стек

Зависимость

Назначение

Python 3.12+

Среда выполнения

Playwright

Автоматизация браузера

MCP SDK

Протокол MCP-сервера

jieba

Сегментация китайского текста

openpyxl

Экспорт Excel

Pydantic

Валидация моделей данных

Документация продукта

Полная интерактивная документация находится в docs/xhs-product-doc.html, открывается в браузере. Включает 9 разделов:

  1. Обзор продукта

  2. Документ требований к продукту (PRD)

  3. Архитектура системы

  4. Рабочий процесс

  5. Ключевые алгоритмы

  6. Безопасность и антидетект

  7. Модели данных

  8. Интерфейс MCP

  9. Руководство пользователя

Пример данных

Каталог data/output/ содержит пример вывода реального запуска (категория мелкой бытовой техники Bear Electric), который можно использовать как справочный:

  • Количество заметок: 8 (после фильтрации)

  • Количество комментариев: 58 (включая дочерние)

  • Распределение эмоций: положительные 22.4%, отрицательные 10.3%, нейтральные 67.2%

  • Ключевые слова: Bear, нравится, пароварка

Конфигурация и переменные окружения

  • Инструмент по умолчанию не требует никаких переменных окружения или ключей для работы; все состояния входа выполняются человеком в видимом браузере, Cookie сохраняются в data/cookies/.

  • Если в дальнейшем потребуется подключение внешних сервисов (прокси, API-ключи и т.д.), поместите конфигурацию в файл .env (игнорируется .gitignore) и используйте шаблон .env.example. Никогда не загружайте реальные ключи.

  • Следующие каталоги/файлы исключены из .gitignore и не попадут в репозиторий: data/cookies/*.json (состояние входа), data/output/* (результаты сбора), data/progress.json, data/error.log, .env и т.д.

Описание каталогов и файлов

Путь

В репозитории?

Описание

src/

Весь исходный код

tests/

Модульные тесты

data/dictionaries/

Словари эмоций/сегментации (текстовые)

data/cookies/

❌ (только .gitkeep)

Cookie входа, конфиденциально

data/output/

❌ (только .gitkeep)

Результаты сбора и анализа

docs/

Документация продукта

.env / *.json ключи

Конфиденциальные настройки

Лицензия

Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE (если он не предоставлен, свяжитесь с автором).

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Enables users to search and retrieve content from Xiaohongshu (Red Book) platform with smart search capabilities and rich data extraction including note content, author information, and images.
    1
    93
    27
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables automated interaction with Xiaohongshu (Little Red Book) platform including searching posts, retrieving content and comments, and posting AI-generated comments with persistent login support.
    444
  • A
    license
    -
    quality
    D
    maintenance
    Enables automated interaction and data scraping for Xiaohongshu (RedNote), including posting, liking, commenting, following, and retrieving user and note data.
    5
    MIT

View all related MCP servers

Related MCP Connectors

  • 搜索笔记、浏览首页推荐、查看笔记内容与评论,并发表你的评论。直接在工作流中与小红书内容互动,高效跟进话题。

  • Social media analytics, post insights, and competitor benchmarking for AI agents.

  • Scrape customer comments and reviews from Reddit, YouTube, Amazon, TikTok, and 25+ platforms.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nideaon/xhs-comment-analyzer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server