← 返回
未分类

B站评论智能搜索

K
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 92
下载
💾 0
安装
1
版本
#latest

概述

B站评论智能搜索

> 关键词/正则/用户精准筛选|支持视频/番剧/动态评论区|扫码免配置登录|搜索结果自动总结+本地存档|AI Agent 一键调用

技能信息

  • 名称: B站评论智能搜索
  • 版本: 1.0.0
  • 作者: K
  • 分类: content-search
  • 标签: B站, bilibili, 评论搜索, 视频分析, 舆情监控, AI Skill
  • 权限: network, file_write

技能描述

支持对B站视频、番剧、动态下的评论进行关键词搜索、正则匹配、用户筛选等多维度检索,并自动生成搜索总结和本地 JSON 存档。内置二维码扫码登录,无需手动配置 Cookie。

核心能力

  1. 多维度搜索:关键词、正则表达式、指定用户 UID、仅带图评论等多种筛选条件
  2. 多内容类型:支持视频(BV号)、番剧(EP号)、动态三种评论区
  3. 楼中楼深搜:可深入搜索子回复(楼中楼),不遗漏任何匹配内容
  4. 智能总结:搜索完成后自动生成结果摘要,包含高赞评论、高频用户等统计
  5. 本地存档:搜索结果自动以 JSON 格式保存到本地 results/ 目录
  6. 扫码登录:内置 B 站二维码登录,终端直接显示二维码,扫码即用
  7. 无登录可用:未登录状态也可搜索,登录后可获取更完整的评论数据

AI执行指南

搜索评论流程

当用户要求搜索某个 B 站视频/番剧/动态的评论时:

  1. 从用户提供的链接或文本中提取 BV 号(如 BV1xxxxxxxxx)、EP 号或动态 ID(支持直接传入完整 B站链接,会自动解析)
  2. 确认搜索关键词、排序方式、数量限制等参数
  3. 优先使用流式接口 POST /api/search/stream 执行搜索(实时输出进度,避免长时间无响应)
  4. 返回搜索总结和匹配的评论列表
  5. 搜索结果自动保存到本地 JSON 文件

> ⚠️ 建议:评论搜索通常耗时 30-60 秒,推荐优先使用流式接口以获得更好的实时反馈体验。

> 使用 curl 调用流式接口时,需要加 -N 参数禁用缓冲,否则终端不会实时显示进度。

登录认证流程

当搜索需要登录态或用户要求登录时:

  1. 调用 qrcodeLogin 能力发起二维码登录
  2. 在终端展示二维码,提示用户使用 B 站手机 App 扫码
  3. 自动轮询扫码状态,登录成功后 Cookie 自动写入配置
  4. 无需重启服务,立即生效

查看认证状态

当需要确认是否已登录时:

  1. 调用 checkAuth 能力查看当前认证状态
  2. 返回是否已认证、是否有待处理的登录会话

可配置参数

参数Key说明默认值
-----------------------
SESSDATAB站登录 Cookie(可通过扫码自动获取)
BILI_JCTB站 CSRF Token(可通过扫码自动获取)
PORT服务端口3005
MAX_LIMIT单次搜索最大返回数100
DEFAULT_LIMIT默认返回数20
REQUEST_INTERVAL_MS请求间隔(毫秒),防风控500
MAX_PAGES最大翻页数50

对外可调用能力

能力名称说明参数
----------------------
searchComments搜索评论(普通)bvid/epid/dyid, keyword, uid, useRegex, sortMode, limit, searchSubReply, onlyWithPictures
searchCommentsStream搜索评论(流式,推荐同上,实时输出进度和匹配结果
qrcodeLogin发起二维码登录
pollLoginStatus查询扫码状态
checkAuth查看当前认证状态

搜索参数说明

参数类型必填说明
------------------------
bvidstring三选一B站视频 BV 号(支持传入完整链接,自动解析)
epidstring三选一番剧集数 ID
dyidstring三选一动态 ID
keywordstring搜索关键词
uidstring指定用户 UID,仅搜索该用户的评论
useRegexboolean是否使用正则表达式匹配(默认 false)
sortModestring排序方式:heat(热度)/ time(时间),默认 heat
limitnumber每页返回数量(默认 20,最大 100),可配合 page 翻页查看更多
pagenumber分页页码(从 1 开始,默认 1),搜索结果超过 limit 时可翻页
searchSubReplyboolean是否搜索楼中楼回复(默认 false)
onlyWithPicturesboolean仅返回带图评论(默认 false)

返回数据结构

{
  "success": true,
  "data": {
    "title": "视频标题",
    "totalScanned": 1500,
    "totalMatched": 8,
    "replies": [
      {
        "rpid": 123456789,
        "uid": 12345,
        "username": "用户名",
        "content": "评论内容",
        "likes": 42,
        "replyCount": 3,
        "time": "2024-6-15 14:30",
        "level": 5,
        "location": "IP属地:广东",
        "pictures": ["https://..."],
        "children": []
      }
    ]
  },
  "summary": "📊 搜索结果总结...",
  "savedPath": "results/BV1xxx_keyword_2024-06-15T14-30-00.json"
}

使用示例

示例 1:关键词搜索(推荐流式)

> 用户:帮我搜索 https://www.bilibili.com/video/BV1xxxxxxxxx 这个视频下面提到 "教程" 的评论

推荐方式 — 流式接口(实时输出进度):

curl -N -X POST http://localhost:3005/api/search/stream \
  -H "Content-Type: application/json" \
  -d '{"bvid": "BV1xxxxxxxxx", "keyword": "教程", "limit": 50, "searchSubReply": true}'

> 💡 -N 参数禁用 curl 缓冲,确保 SSE 事件实时显示。流式接口会依次输出 progress(进度)、match(匹配项)、summary(总结)、complete(完成)事件。

备选方式 — 普通接口(等待全部完成后一次性返回):

curl -X POST http://localhost:3005/api/search \
  -H "Content-Type: application/json" \
  -d '{"bvid": "BV1xxxxxxxxx", "keyword": "教程", "limit": 50, "searchSubReply": true}'

> 💡 也可以直接传入完整 B站链接,服务会自动提取 BV 号:

> {"bvid": "https://www.bilibili.com/video/BV1xxxxxxxxx?p=1", "keyword": "教程"}

AI Function Calling 调用:

{
  "name": "searchComments",
  "arguments": {
    "bvid": "BV1xxxxxxxxx",
    "keyword": "教程",
    "limit": 20
  }
}

示例 2:正则搜索 + 楼中楼

> 用户:搜索这个视频里所有提到年份的评论,包括回复

AI 调用:

{
  "name": "searchComments",
  "arguments": {
    "bvid": "BV1xxxxxxxxx",
    "keyword": "\\d{4}年",
    "useRegex": true,
    "searchSubReply": true
  }
}

示例 3:指定用户搜索

> 用户:看看 UID 12345678 在这个视频下发了什么评论

AI 调用:

{
  "name": "searchComments",
  "arguments": {
    "bvid": "BV1xxxxxxxxx",
    "uid": "12345678"
  }
}

部署要求

  • 运行环境: Node.js >= 16
  • 启动命令: npm startnpm run dev
  • 快速登录: npm run login(终端二维码扫码)
  • 依赖安装: npm install

注意事项

  1. Cookie 有效期:B站 Cookie 有过期时间,失效后运行 npm run login 重新扫码即可
  2. 风控限制:请求间隔默认 500ms,不建议调低
  3. 搜索深度:最多翻 50 页评论(约 1000 条根评论),热门视频可能无法遍历全部
  4. 楼中楼搜索:开启后请求量显著增加,建议配合 limit 使用
  5. 无登录模式:未登录也可搜索,但部分评论数据可能不完整

搜索限制说明

搜索过程中有两层限制,分别控制“扫描范围”和“返回数量”:

参数默认值说明
--------------------
MAX_PAGES50向B站API最多翻多少页(每页约20条根评论,50页≈扫描1000条)
MAX_LIMIT100匹配结果最多收集多少条就停止
page1对已匹配结果的展示分页(不会突破 MAX_LIMIT 上限)

实际流程:

B站API翻页(最多50页)→ 扫描约1000条根评论 → 匹配到最多100条就停止 → 用page参数对这100条分页展示

> ⚠️ 注意page 参数是对已匹配结果的前端分页,不能突破 MAX_LIMIT 的上限。如果需要获取超过 100 条匹配结果,需要在 .env 中调大 MAX_LIMIT;如果需要扫描更多评论,需要调大 MAX_PAGES

>

> 调大这些参数会增加耗时(500ms × 页数)和触发风控的风险。

合规安全

  • Cookie 仅本地 .env 文件存储,不上传任何云端
  • 搜索结果仅保存在本地 results/ 目录
  • 所有 API 请求遵循 B 站接口调用规范
  • 内置请求限速,避免触发风控

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-25 12:10 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,672
ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,350 📥 317,489
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,210 📥 266,010