关于 weibo-cli
weibo-cli 是用于浏览微博话题、帖子、评论和用户资料的只读命令行工具。它支持提取浏览器 Cookie 或扫码登录,并可输出表格、JSON 和 YAML。
主要功能
- 01浏览热门话题与趋势
- 02搜索微博并查看时间线
- 03查看微博详情、评论和转发
- 04检查用户资料及关注者列表
- 05通过浏览器 Cookie 或二维码登录
- 06输出表格、JSON 或 YAML
适用场景
- 01日常监测微博趋势和热门话题
- 02研究微博帖子及其评论
- 03查看用户资料和已发布微博
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackwener/ weibo-cli --skill weibo-cli安装后在 Claude Code 中输入/weibo-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdpyproject.toml.github/workflows/ci.ymlpublish.ymltests/test_auth.pyconftest.pytest_cli.pytest_client.py__init__.pytest_improvements.pytest_smoke.pyweibo_cli/__init__.pyauth.pycli.py__main__.pyclient.pyconstants.pyexceptions.pyweibo_cli/commands/__init__.py_common.pyauth.pyrenderers.pysearch.pypersonal.py详细介绍
weibo-cli — Weibo 命令行工具
二进制文件: weibo
凭据: 浏览器 Cookie(自动提取)或二维码登录
设置
# Install (requires Python 3.10+)
git clone [email protected]:jackwener/weibo-cli.git
cd weibo-cli && uv sync
身份验证
Agent 注意: 执行任何 weibo 命令之前,先检查是否存在凭据。不要假定 Cookie 已配置。
步骤 0:检查是否已完成身份验证
weibo status 2>/dev/null && echo "AUTH_OK" || echo "AUTH_NEEDED"
如果是 AUTH_OK,请跳转到命令参考。
如果是 AUTH_NEEDED,请继续步骤 1。
步骤 1:引导用户完成身份验证
方式 A:提取浏览器 Cookie(推荐)
确保用户已在任意受支持的浏览器(Chrome、Arc、Edge、Firefox、Brave、Chromium、Opera、Vivaldi、Safari、LibreWolf)中登录 weibo.com。weibo-cli 会自动提取 Cookie。
weibo login
weibo login --qrcode # QR code login directly (skip browser cookies)
weibo status
方式 B:二维码登录
weibo login
# → Renders QR in terminal using Unicode half-blocks
# → Scan with Weibo App (我的 → 扫一扫) → confirm
步骤 2:处理常见身份验证问题
| 症状 | Agent 操作 |
|---|---|
⚠️ 未登录 | 引导用户在浏览器中登录 weibo.com,然后运行 weibo login |
会话已过期 | 运行 weibo logout && weibo login |
| 提取 Cookie 时卡住 | 浏览器可能仍在运行;关闭浏览器后重试 |
输出格式
默认:富文本表格(便于阅读)
weibo hot # Pretty table output
JSON / YAML:结构化输出
weibo hot --json # JSON to stdout
weibo hot --yaml # YAML output
weibo hot --json | jq '.realtime[:3]' # Filter with jq
非 TTY 标准输出默认自动使用 YAML 格式。
命令参考
读取
| 命令 | 说明 | 示例 |
|---|---|---|
weibo hot | 热搜列表(50 多个话题) | weibo hot --count 10 --json |
weibo trending | 实时搜索趋势 | weibo trending --count 10 --yaml |
weibo search <keyword> | 按关键词搜索微博 | weibo search "科技" --count 5 --json |
weibo feed | 热门时间线 | weibo feed --count 5 --json |
weibo home | 关注动态时间线 | weibo home --count 10 --json |
weibo detail <mblogid> | 查看微博及统计数据 | weibo detail Qw06Kd98p --json |
weibo comments <mblogid> | 查看评论 | weibo comments Qw06Kd98p --count 10 |
weibo reposts <mblogid> | 查看转发 | weibo reposts Qw06Kd98p --count 5 |
weibo profile <uid> | 用户资料 | weibo profile 1699432410 --json |
weibo weibos <uid> | 用户发布的微博 | weibo weibos 1699432410 --count 5 |
weibo following <uid> | 用户的关注列表 | weibo following 1699432410 |
weibo followers <uid> | 用户的粉丝列表 | weibo followers 1699432410 |
账号
| 命令 | 说明 |
|---|---|
weibo login | 从浏览器提取 Cookie / 使用二维码登录 |
weibo login --qrcode | 直接使用二维码登录(跳过浏览器) |
weibo login --cookie-source <browser> | 从指定浏览器提取 |
weibo logout | 清除已保存的凭据 |
weibo status | 检查身份验证状态 |
weibo me | 显示当前用户资料 |
Agent 工作流示例
浏览热门话题并查看详情
# Get hot search topics
MBLOG=$(weibo hot --json | jq -r '.realtime[0].mblog_id // empty')
# Read a specific weibo
weibo detail Qw06Kd98p --json | jq '{text: .text_raw, likes: .attitudes_count, comments: .comments_count}'
分析用户资料
weibo profile 1699432410 --json | jq '.user | {name: .screen_name, followers: .followers_count, posts: .statuses_count}'
weibo weibos 1699432410 --count 3 --json
查看微博评论
weibo comments Qw06Kd98p --json | jq '.data[:5] | .[].text_raw'
每日监控工作流
# Top 10 hot topics
weibo hot --json | jq '.realtime[:10] | .[] | {rank, word, num}'
# Trending sidebar
weibo trending --yaml
# Hot feed
weibo feed --count 5 --json
错误代码
CLI 输出中返回的结构化错误代码:
not_authenticated— Cookie 已过期或缺失rate_limited— 请求过于频繁invalid_params— 缺少或无效的参数qr_expired— 二维码已过期api_error— 上游 Weibo API 错误
限制
- 只读 — 不能发布、点赞或转发
- 不支持私信 — 无法访问私信
- 单账号 — 同一时间只能使用一组凭据
- 请求频率受限 — 请求之间内置高斯抖动延迟(约 1 秒)
Agent 反检测注意事项
- 不要并行发送请求 — 内置的请求频率限制延迟是为了保障账号安全
- 批量操作: 批量处理(例如读取多个用户资料)时,在 CLI 调用之间添加延迟
- 会话稳定性: 同一会话中的所有请求使用一致的 Chrome 145 标头
安全注意事项
- 不要要求用户在聊天记录中分享原始 Cookie 值。
- 优先从本地浏览器提取 Cookie,而不是手动复制粘贴密钥。
- 如果身份验证失败,请让用户通过
weibo login重新登录。 - Agent 应将 Cookie 值视为机密(不要不必要地将其回显到标准输出)。
- 内置的速率限制延迟可保护账号;不要绕过它。
评论
支持 Markdown