xhs-comment-analyzer
小红书评论分析ツール (XHS Comment Analyzer)
ブランドマーケティングチーム向けの小红书UGCコメント自動収集・分析ツール。ブランド語+カテゴリ語でノートを検索し、コメント(子コメント含む)を一括抽出、キーワード/感情/ホット度の3次元分析を実施し、Excel+JSONの2形式でレポートを出力します。MCP Serverとして動作し、TRAE / Claude / CursorなどのAIクライアントから直接呼び出せるほか、CLIでの単独実行も可能です。
コア機能
自動ノート検索:ブランド語+カテゴリ語の組み合わせで検索、自動スクロール読み込み、無関係なコンテンツをスマートにフィルター
一括コメント収集:ノート詳細ページを1つずつ開き、親コメントと子コメントの完全情報を抽出、中断再開に対応
3次元分析エンジン:jieba+TF-IDFによるキーワード抽出、感情辞書+ルールによる感情分類、インタラクション量×時間減衰によるホット度スコアリング
2形式レポート出力:5シートのExcelレポート+構造化JSONデータ
AIワークフロー統合:MCP Serverが4つのツールを公開、自然言語で全プロセスを駆動可能
Related MCP server: Xiaohongshu (RedBook) MCP Server
クイックスタート
インストール
pip install -e .
playwright install chromiumテスト実行
python -m pytest tests/ -vCLI使用
# 首次使用:检查登录状态(会打开浏览器,手动完成登录)
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.jsonMCP構成
TRAE / Claude / CursorのMCP設定に以下を追加:
{
"mcpServers": {
"xhs-comment-analyzer": {
"command": "python",
"args": ["-m", "src.mcp_server"],
"cwd": "/path/to/xhs-comment-analyzer-package"
}
}
}設定後、AIクライアントは自然言語で「小熊電器の小家電のコメントを検索して分析レポートを生成して」と指示できます。
MCPツール一覧
ツール | 機能 |
| ブランド語+カテゴリ語でノートを一括検索、コメント収集、分析、出力 |
| 単一の小红书ノートのコメントを収集し分析 |
| 既に収集したJSONファイルに対してキーワード/感情/ホット度を再分析 |
| 小红书のログイン状態を確認 |
プロジェクト構成
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シート)
Sheet | 内容 |
コメント詳細 | 全コメントをホット度順で表示、ノートタイトル/URL/コメント内容/投稿者/時刻/いいね/返信/感情/ホット度を含む |
分析サマリー | 収集ノート数、コメント総数、製品関連コメント、感情分布統計 |
キーワードTop10 | 高頻度キーワードとその割合 |
ホットコメントTop10 | ホット度スコアが最も高い10件のコメント |
ノート集計 | 各ノートのいいね数、コメント数、ホット度合計 |
JSONレポート
構造化された全量データ。task設定、summary統計、keywordsリスト、comments完全リスト、ファイルパスを含み、プログラムによる二次利用が容易です。
コアアルゴリズム
キーワード抽出(jieba + TF-IDF)
各コメントを独立したドキュメントとみなし、jiebaで分詞後、ストップワードと1文字語を除去し、TF-IDF重み(sklearnスタイルの平滑化)を計算。Top10のキーワードとその割合を返します。内蔵の小家電分野辞書(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)。1日あたり5%減衰し、最近の高インタラクションコメントが上位に来るようにします。
セキュリティ設計
認証バイパスなし:ツールはアカウント/パスワードの入力、QRコードのシミュレーション、自動CAPTCHA処理を行いません
人的介入優先:すべてのログインやCAPTCHA操作は、可視ブラウザウィンドウで人間が完了します
可視ブラウザ:常にheadless=Falseを使用し、ユーザーがいつでも表示・介入可能
リスク警告:連続3回CAPTCHAに遭遇すると自動停止、リスクトリガーを防止
中断再開対応:中断後に再開可能、進捗は
progress.jsonに保存Cookie永続化:ログイン状態は
xhs_cookies.jsonに保存され、頻繁なログインを回避
技術スタック
依存 | 用途 |
Python 3.12+ | ランタイム |
Playwright | ブラウザ自動化 |
MCP SDK | MCP Serverプロトコル |
jieba | 中国語分詞 |
openpyxl | Excel出力 |
Pydantic | データモデルバリデーション |
製品ドキュメント
完全なインタラクティブ製品ドキュメントはdocs/xhs-product-doc.htmlにあり、ブラウザで開くことで閲覧可能です。ドキュメントは9章で構成されています:
製品概要
製品要件ドキュメント(PRD)
システムアーキテクチャ
ワークフロー
コアアルゴリズム
セキュリティとアンチディテクション
データモデル
MCPインターフェース
使用ガイド
サンプルデータ
data/output/ディレクトリには、実際の実行サンプル出力(小熊電器小家電カテゴリ)が含まれており、参考として利用できます:
ノート数:8件(フィルター後)
コメント数:58件(子コメント含む)
感情分布:ポジティブ22.4%、ネガティブ10.3%、ニュートラル67.2%
キーワード:小熊、好き、蒸籠
設定と環境変数
ツールはデフォルトで環境変数やキーを一切必要とせずに動作します。すべてのログイン状態は可視ブラウザ方式で人間が行い、Cookieは
data/cookies/に永続化されます。今後外部サービス(プロキシ、API Keyなど)と連携する場合は、
.envファイル(.gitignoreで除外済み)に設定を記述し、.env.exampleテンプレートを参照してください。実際のキーをコミットしないでください。以下のディレクトリ/ファイルは
.gitignoreで除外され、バージョン管理されません:data/cookies/*.json(ログイン状態)、data/output/*(収集成果物)、data/progress.json、data/error.log、.envなど。
ディレクトリとファイルの説明
パス | 管理対象 | 説明 |
| ✅ | 全ソースコード |
| ✅ | 単体テスト |
| ✅ | 感情/分詞辞書(テキスト) |
| ❌( | ログインCookie、機密 |
| ❌( | 収集・分析成果物 |
| ✅ | 製品ドキュメント |
| ❌ | 機密設定 |
ライセンス
本プロジェクトはMITライセンスのもとでオープンソース化されています。詳細はLICENSEファイル(提供されていない場合は、著者に連絡して入手してください)を参照してください。
Maintenance
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
- AlicenseBqualityFmaintenanceEnables 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.19327MIT
- Flicense-qualityDmaintenanceEnables 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
- Flicense-qualityCmaintenanceEnables automated searching and commenting on Xiaohongshu with AI-generated comments via MCP clients like Claude, supporting login persistence, note analysis, and four comment types.
- Alicense-qualityDmaintenanceEnables automated interaction and data scraping for Xiaohongshu (RedNote), including posting, liking, commenting, following, and retrieving user and note data.5MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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