Verified Research Engine (Web + Academic + Confidence Score)
支持网页、学术、Tavily等多源检索,提供可信度评分的智能搜索工具。
下载 44
支持三级认证降级的知乎数据获取工具,可自动切换登录态、Cookie或备用源。
openclaw skills install @noah-1106/zhihu-fetcher命令、参数、文件名以原文为准
极简设计的知乎数据抓取工具,支持三级认证降级,确保在各种环境下都能稳定获取数据。
优先级1: 浏览器配置
使用 OpenClaw 浏览器已登录的状态
↓ 失败或无登录状态
优先级2: 文件 Cookie
使用配置文件中固化的 Cookie
↓ 失败或无配置
优先级3: 备用源
使用无需认证的备用数据源# 1. 登录知乎
browser open https://www.zhihu.com
# 完成登录
# 2. 获取数据并保存到数据库
cd scripts
python3 save_to_db.py 50# 1. 编辑配置文件,填入 Cookie
vim config/fallback-sources.json
# 2. 直接运行(无需浏览器)
python3 scripts/save_to_db.py 50# 无需任何认证
python3 scripts/save_to_db.py
# 会自动降级到备用源python3 scripts/init_db.py# 采集50条热榜并保存到数据库
python3 scripts/save_to_db.py 50
# 显示结果:
# ✅ 完成!
# 发现:50 条
# 新增:50 条
# 更新:0 条# 查看今天的热榜
python3 scripts/query.py today
# 查看指定日期
python3 scripts/query.py date 2026-03-15
# 查看最近7天统计
python3 scripts/query.py stats 7
# 查看抓取日志
python3 scripts/query.py logs-- 文章表
CREATE TABLE articles (
id TEXT PRIMARY KEY, -- 文章ID(URL的SHA256)
platform TEXT DEFAULT 'zhihu', -- 平台标识
article_type TEXT DEFAULT 'hot', -- 类型:hot/search
rank INTEGER, -- 排名
title TEXT NOT NULL, -- 标题
url TEXT NOT NULL, -- 链接
heat INTEGER, -- 热度值
author TEXT, -- 作者
summary TEXT, -- 摘要
published_at INTEGER, -- 发布时间
fetched_at INTEGER, -- 抓取时间
fetch_date TEXT, -- 抓取日期(YYYY-MM-DD)
raw_data TEXT, -- 原始JSON
UNIQUE(url, fetch_date) -- 同一天同一URL只存一次
);
-- 抓取日志表
CREATE TABLE fetch_logs (...);编辑 config/fallback-sources.json:
{
"cookie": {
"zhihu_session": "你的_session值",
"z_c0": "你的_z_c0值",
"_xsrf": "你的_xsrf值",
"_zap": "...",
"d_c0": "..."
}
}获取 Cookie 的方法:
# 获取30条热榜
node snippets/fetch-hot.js 30
# 保存到文件
node snippets/fetch-hot.js 50 ./zhihu-hot.json
# 自定义频率限制(5秒/次)
RATE_LIMIT=5000 node snippets/fetch-hot.jsconst { fetchWithFallback } = require('./snippets/fetch-hot.js');
const data = await fetchWithFallback({
limit: 30,
rateLimitMs: 2000
});
// 自动选择最佳认证方式
console.log('认证方式:', data.meta.auth_method);
// browser_profile | file_cookie | fallback_source
report.zhihu = data.data;zhihu-fetcher/
├── SKILL.md # 本文档
├── config/
│ └── fallback-sources.json # 配置:Cookie + 备用源
├── data/
│ ├── zhihu.db # SQLite数据库(自动创建)
│ └── index.html # HTML可视化报告(自动生成)
├── scripts/
│ ├── init_db.py # 数据库初始化
│ ├── db.py # 数据库操作模块
│ ├── save_to_db.py # 采集并保存到数据库
│ ├── query.py # 数据查询工具
│ └── generate_html.py # HTML可视化报告生成
└── snippets/
├── hot.js # 浏览器提取代码
├── search.js # 搜索提取代码
├── rate-limiter.js # 频率限制器
├── cookie-manager.js # Cookie 管理
├── fallback.js # 备用源获取
├── fetch-hot.js # 完整热榜获取(三级认证)
└── test-simple.js # 测试脚本{
"meta": {
"source": "zhihu",
"fetch_time": "2026-03-15T08:30:00.000Z",
"mode": "hot",
"auth_method": "file_cookie",
"rate_limited": true,
"count": 30
},
"data": [
{
"rank": 1,
"title": "...",
"heat": 4030000,
"url": "..."
}
]
}# 生成可视化HTML报告
python3 scripts/generate_html.py
# 打开查看
open data/index.htmlHTML报告功能 / HTML Report Features:
# 进入数据库 / Enter database
sqlite3 data/zhihu.db
# 查看今天的数据 / View today's data
SELECT rank, title, heat FROM articles
WHERE fetch_date = date('now')
ORDER BY rank LIMIT 10;
# 查看最近7天每天采集的数据条数 / View daily count for last 7 days
SELECT fetch_date, COUNT(*) FROM articles
WHERE fetch_date >= date('now', '-7 days')
GROUP BY fetch_date ORDER BY fetch_date DESC;
# 查看抓取日志 / View fetch logs
SELECT * FROM fetch_logs ORDER BY started_at DESC LIMIT 5;请编辑 config/fallback-sources.json 文件:
{
"fallbacks": [
{
"name": "zhihu-hot-hub",
"url": "...",
"type": "markdown",
"priority": 1
},
{
"name": "another-api",
"url": "https://api.example.com/zhihu-hot.json",
"type": "json",
"priority": 2
}
]
}如需调整认证方式的优先级,请修改配置文件:
{
"auth": {
"priority": [
"file_cookie", // 优先使用固化 Cookie
"browser_profile", // 其次使用浏览器配置文件
"fallback_source" // 最后使用备用数据源
]
}
}✅ 已通过测试 / Tested
# 测试备用源 / Test fallback source
node snippets/test-simple.js| 场景 / Scenario | 推荐方式 / Recommended | 原因 / Reason |
|---|---|---|
| 日常开发 / Daily dev | Browser Profile | 数据最完整、稳定性高 |
| CI/CD 自动化 / Automation | File Cookie | 无需交互,可重复执行 |
| 应急备用 / Emergency | Fallback Source | 无需认证,快速可用 |
| 方案 / Solution | 复杂度 / Complexity | 可靠性 / Reliability | 适用场景 / Use Case |
|---|---|---|---|
| 本方案 / This solution | 低 / Low | 高(支持三级降级)/ High (3-level fallback) | 研究类数据采集 |
| 小红书式 / XHS-style | 高 / High | 高 / High | 运营自动化场景 |
| 纯 API / Pure API | 中 / Medium | 中 / Medium | 生产环境部署 |
已收录 1 个 Skill