第一次用 OpenCLI 抓取 B站视频信息时,我惊呆了——只需要一条命令,就能获取视频标题、UP主、播放量、弹幕数,甚至还能下载字幕。不用申请 API Key,不用处理复杂的认证,也不用写爬虫代码。
OpenCLI 的核心思想很简单:复用你浏览器的登录状态。你已经在浏览器里登录了 B 站、知乎、Twitter,为什么还要单独申请 API Key?OpenCLI 直接读取你的浏览器 Cookie,用命令行完成你在浏览器里能做的所有事情。
- OpenCLI 是什么
- 核心特性:为什么选择 OpenCLI
- 安装和配置
- 支持的 16+ 平台
- 实战案例:从入门到高级
- 与 AI Agent 集成
- 常见问题解答
OpenCLI 是一个命令行工具,用于与社交和内容网站交互。它的设计理念是:Make Any Website & Tool Your CLI —— 让任何网站和工具都成为你的命令行工具。
与传统的爬虫工具不同,OpenCLI 不是通过解析 HTML 或调用 API 来获取数据,而是通过模拟浏览器操作,复用你的登录状态。这意味着:
- ✅ 无需 API Key:直接使用你的浏览器登录
- ✅ 支持所有功能:你在浏览器里能做的,命令行也能做
- ✅ 反爬虫免疫:使用真实浏览器行为,不容易被封
- ✅ 跨平台支持:Windows、macOS、Linux 都能用
- 自动重试失败的请求
- 智能处理网络波动
- 优雅的错误提示
OpenCLI 有多个版本,根据你的需求选择:
Rust 版本(推荐,性能**):
# 通过 Cargo 安装 cargo install opencli-rs # 或下载预编译二进制文件 # 访问 GitHub Releases 页面
Node.js 版本:
npm install -g opencli
Python 版本:
pip install opencli
OpenCLI 需要读取浏览器的登录状态,支持以下浏览器:
- Chrome/Chromium
- Edge
- Firefox
- Brave
配置步骤:
- 在浏览器中登录你想要访问的平台(B站、知乎等)
- 运行以下命令让 OpenCLI 找到浏览器配置:
opencli config init
- 选择你的浏览器和配置文件路径
- 验证配置:
opencli doctor
OpenCLI 支持的平台列表(持续更新中):
- Bilibili(B站):视频信息、弹幕、评论、UP主信息
- YouTube:视频元数据、字幕、转写、评论
- 抖音/TikTok:视频信息、热门趋势
- Twitter/X:推文、用户信息、趋势话题
- 微博:微博内容、热搜榜、用户动态
- Reddit:帖子、评论、子版块信息
- V2EX:主题、节点、用户信息
- 知乎:回答、文章、问题、用户信息
- HackerNews:新闻条目、评论、排名
- 雪球:股票讨论、用户动态
- 小红书:笔记内容、用户信息、热门话题
- GitHub:仓库信息、Issue、PR、用户信息
- Stack Overflow:问答、标签、用户信息
获取视频基本信息:
opencli bilibili video --url "https://www.bilibili.com/video/BV1xx411c7mD"
输出示例:
{ "title": "【原神】3.6版本前瞻特别节目", "uploader": "原神", "uploader_id": "", "view": , "danmaku": 84732, "reply": 15623, "favorite": 45621, "coin": 98234, "share": 3452, "like": , "duration": "36:45", "pubdate": "2026-04-12" }
获取视频弹幕:
opencli bilibili danmaku --url "https://www.bilibili.com/video/BV1xx411c7mD" > danmaku.txt
下载视频字幕:
opencli bilibili subtitle --url "https://www.bilibili.com/video/BV1xx411c7mD"
获取问题下的所有回答:
opencli zhihu question --id "" --answers
获取用户的所有文章:
opencli zhihu user --id "username" --articles
搜索关键词:
opencli zhihu search --query "人工智能" --limit 20
获取用户推文:
opencli twitter user --screenname "elonmusk" --tweets --count 50
获取趋势话题:
opencli twitter trending --location "worldwide"
搜索推文:
opencli twitter search --query "#AI" --count 100
获取子版块热门帖子:
opencli reddit hot --subreddit "programming" --limit 25
获取帖子评论:
opencli reddit comments --url "https://reddit.com/r/programming/comments/..."
获取用户信息:
opencli reddit user --username "username"
批量下载 B站 UP主的所有视频信息:
# 获取 UP主的所有视频 ID opencli bilibili user --uid "" --videos --json | jq -r '.videos[].bvid' | while read bvid; do opencli bilibili video --bvid "$bvid" --json >> videos.json done
监控知乎问题的新回答:
# 每 5 分钟检查一次新回答 while true; do opencli zhihu question --id "" --new-answers sleep 300 done
自动转写视频内容(集成 Whisper):
# 优先使用字幕,没有字幕则使用 Whisper large-v3 opencli transcribe --url "https://www.youtube.com/watch?v=..." --output transcript.txt
OpenCLI 的真正威力在于与 AI Agent 的深度集成。它有专门的 OpenClaw Skill,让你可以在 Claude Code 中用自然语言控制所有平台。
- 安装 OpenClaw Skill:
openclaw skills install opencli
- 在 Claude Code 中使用自然语言:
帮我搜索 B站关于”人工智能”的热门视频,获取前 10 个视频的标题和播放量
场景 1:舆情监测
监控微博上关于"OpenAI"的关键词,每 10 分钟汇总一次并发送通知
场景 2:内容研究
分析知乎上"机器学习"话题下高赞回答的共同特征
场景 3:竞品分析
抓取竞争对手在 B站发布的所有视频,分析发布时间、标题、互动数据
场景 4:自动化运营
当 Reddit r/programming 出现热门帖子时,自动生成摘要并发送到 Discord
A:OpenCLI 只读取浏览器存储的 Cookie,不会上传任何信息。所有数据都保存在本地。你可以查看源代码,确认安全性。
A:可能的原因:
- 浏览器登录状态过期
- 浏览器配置文件路径不正确
- 网络问题
- 平台检测到自动化行为
运行 opencli doctor 诊断问题。
A:OpenCLI 通过以下方式规避反爬虫:
- 使用真实浏览器 Cookie
- 模拟真实用户行为
- 智能延迟和重试
A:
- OpenCLI:快速、简单、无需处理认证,适合个人使用和快速原型
- Scrapy:强大、灵活、可扩展,适合大规模、生产环境的数据采集
A:OpenCLI 是开源项目,欢迎贡献:
1. Fork GitHub 仓库
2. 创建特性分支
3. 提交 Pull Request
4. 参与讨论和代码审查
OpenCLI 支持多种输出格式:
# JSON 格式(默认) opencli bilibili video –url “…” –json
CSV 格式
opencli bilibili video –url “…” –csv
Markdown 表格
opencli bilibili video –url “…” –markdown
自定义模板
opencli bilibili video –url “…” –template “标题: {{title}}, 播放量: {{view}}”
将输出传递给其他工具:
# 获取 B站视频并排序 opencli bilibili user –uid “…” –videos –json | jq ‘.videos | sort_by(-.view) | .[:10]’
筛选特定条件
opencli zhihu search –query “AI” –json | jq ‘.results[] | select(.voteup > 1000)’
批量操作时使用并发加速:
# 使用 xargs 并行处理 cat video_urls.txt | xargs -P 5 -I {} opencli bilibili video –url “{}”
使用 GNU parallel
parallel -j 10 opencli bilibili video –url {} ::: $(cat video_urls.txt)
使用 cron 定期运行:
# 每天早上 9 点抓取 B站热门视频 0 9 * * * /usr/local/bin/opencli bilibili trending –json > /data/bilibili/trending_$(date +%Y%m%d).json
将 OpenCLI 输出用于数据可视化:
# 生成 CSV 后用 Python 分析 opencli twitter trending –location “worldwide” –csv > trends.csv
使用 pandas 分析
python -c “ import pandas as pd df = pd.read_csv(‘trends.csv’) print(df.head(10)) ”
结合 OpenCLI 和 AI,构建一个自动化知识库系统:
#!/bin/bash
配置
PLATFORMS=(“bilibili” “zhihu” “hackernews”) KEYWORDS=(“人工智能” “机器学习” “深度学习”) OUTPUT_DIR=“/data/knowledge-base”
创建输出目录
mkdir -p “$OUTPUT_DIR”
遍历平台和关键词
for platform in “\({PLATFORMS[@]}"; do for keyword in "\){KEYWORDS[@]}”; do
# 搜索内容 opencli "$platform" search --query "$keyword" --json > "$OUTPUT_DIR/${platform}_${keyword}_$(date +%Y%m%d).json" # 用 AI 生成摘要 openclaw agent spawn "分析这个文件,提取关键信息:$OUTPUT_DIR/${platform}_${keyword}_$(date +%Y%m%d).json" > "$OUTPUT_DIR/${platform}_${keyword}_$(date +%Y%m%d)_summary.md"
done done
echo “知识库更新完成:$(date)”
保存为 update-knowledge-base.sh,添加到 crontab:
0 */6 * * * /path/to/update-knowledge-base.sh
每 6 小时自动更新一次你的个人知识库。
OpenCLI 的设计哲学是”简单但强大”。它不试图成为一个全能的数据采集框架,而是专注于解决一个具体的问题:让你用命令行访问任何网站,就像在浏览器里一样简单。
当你把 OpenCLI 与 AI Agent 结合时,真正的魔法就发生了——你可以用自然语言描述需求,AI 会自动调用 OpenCLI 完成复杂的操作。这就是未来的工作方式。
作者: itech
来源: 公众号:AI 人工智能时代
本文首发于 AI 人工智能时代,转载请注明出处。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/265655.html