noah

知乎資料獲取 | Zhihu Data Fetcher

資料分析v1.1.0
作者:noah更新於 2026-05-11共 2 個版本 · 最新版本釋出於 2026-03-15zhihu-fetcher@clawhub_noah-1106/zhihu-fetcher
網頁抓取#Browser

據 AlphaMoat 統計,截至 2026-09,知乎資料獲取 | Zhihu Data Fetcher 累計下載 2,482 次、獲 2 個星標,在全部 5,078 個 AI 技能中排名第 4,116 位,在「資料分析」分類(399 個)中排名第 312 位。

累計安裝
287
累計下載
2482
星標
2
全站排名
#4,116
全站前 82% · 「資料分析」前 79%
平台累計安裝累計下載星標評論
ClawHub ↗491601--
SkillHub ↗28724822—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

依次嘗試瀏覽器登入態、檔案 Cookie 和無需認證的備援來源,將熱榜儲存到 SQLite,按日期查詢並生成 HTML 報告。瀏覽器方式需已登入;檔案 Cookie 可能過期且不得提交到 Git。預設每次請求間隔 2 秒;GitHub 備援來源可能延遲 1 小時。

資料釋出於 2026-10-26

可以用來做什麼

  • 收集熱榜並按日期查詢

什麼時候用

  • 需要本機整理知乎熱榜時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

獲取知乎熱榜並生成 HTML 報告

使用條件

依據技能文件中的宣告整理,未經實際安裝或執行驗證。

配置要求
  • 來源卡片提示釋出包附帶敏感 Cookie,安裝前移除,勿記錄或分享認證材料。
  • 診斷指令碼需先審查再在受控環境執行;HTML 報告含外部內容,分享前需審查或清理。

月度資料趨勢

累計下載2482
431153326342026-03 · 累計下載 5832026-05 · 累計下載 11292026-06 · 累計下載 13522026-07 · 累計下載 16842026-08 · 累計下載 20342026-09 · 累計下載 248226-0326-09
星標2
0122026-03 · 星標 -2026-05 · 星標 12026-06 · 星標 12026-07 · 星標 22026-08 · 星標 22026-09 · 星標 226-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-092482—2
2026-082034+20.8%2
2026-071684+24.6%2
2026-061352+19.8%1
2026-051129—1
2026-03583—-

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

11 KB · ClawHub v1.1.0
---
name: zhihu-fetcher
description: |
  知乎数据获取 - 极简设计,支持三级认证降级(Browser Profile → File Cookie → Fallback),确保数据可靠获取
  Zhihu Data Fetcher - Minimalist design with three-level auth fallback (Browser Profile → File Cookie → Fallback), ensuring reliable data retrieval
metadata:
  openclaw:
    emoji: "📰"
    category: "data-source"
    tags: ["zhihu", "fetch", "hot-list", "search", "fallback", "rate-limit", "cookie"]
展開全部(共 367 行)
---

# 知乎数据获取 | Zhihu Data Fetcher

极简设计的知乎数据抓取工具,支持**三级认证降级**,确保在各种环境下都能获取数据。
A minimalist Zhihu data fetching tool with **three-level authentication fallback**, ensuring reliable data retrieval in any environment.

---

## 三级认证机制 | Three-Level Auth Mechanism

```
优先级1: Browser Profile / 浏览器配置
    使用 OpenClaw browser 已登录的状态 / Use OpenClaw browser logged-in state
    ↓ 失败/无登录态 / Fail or no login state
优先级2: File Cookie / 文件 Cookie
    使用配置文件中固化的 Cookie / Use cookie固化 in config file
    ↓ 失败/无配置 / Fail or no config
优先级3: Fallback Source / 备用源
    使用无需认证的备用数据源 / Use unauthenticated fallback data source
```

---

## 快速开始 | Quick Start

### 方式1: Browser Profile(推荐)| Method 1: Browser Profile (Recommended)

```bash
# 1. 登录知乎 / Login to Zhihu
browser open https://www.zhihu.com
# 完成登录 / Complete login

# 2. 获取数据并保存到数据库 / Fetch data and save to database
cd scripts
python3 save_to_db.py 50
```

### 方式2: 固化 Cookie | Method 2: File Cookie

```bash
# 1. 编辑配置文件,填入 Cookie / Edit config file and fill in cookies
vim config/fallback-sources.json

# 2. 直接运行(无需 browser)/ Run directly (no browser needed)
python3 scripts/save_to_db.py 50
```

### 方式3: 仅使用备用源 | Method 3: Fallback Source Only

```bash
# 无需任何认证 / No authentication required
python3 scripts/save_to_db.py
# 会自动降级到 fallback source / Auto-downgrade to fallback source
```

---

## 数据库使用 | Database Usage

### 初始化数据库 | Initialize Database

```bash
python3 scripts/init_db.py
```

### 采集并保存 | Collect and Save

```bash
# 采集50条热榜并保存到数据库 / Collect 50 hot items and save to database
python3 scripts/save_to_db.py 50

# 显示结果 / Display results:
# ✅ 完成! / Complete!
#    发现 / Found: 50 条
#    新增 / New: 50 条
#    更新 / Updated: 0 条
```

### 查询数据 | Query Data

```bash
# 查看今天的热榜 / View today's hot list
python3 scripts/query.py today

# 查看指定日期 / View specific date
python3 scripts/query.py date 2026-03-15

# 查看最近7天统计 / View last 7 days stats
python3 scripts/query.py stats 7

# 查看抓取日志 / View fetch logs
python3 scripts/query.py logs
```

### 数据库结构 | Database Schema

```sql
-- 文章表 / Articles table
CREATE TABLE articles (
    id TEXT PRIMARY KEY,              -- 文章ID (URL的SHA256) / Article ID (URL SHA256)
    platform TEXT DEFAULT 'zhihu',    -- 平台标识 / Platform identifier
    article_type TEXT DEFAULT 'hot',  -- 类型: hot/search / Type: hot/search
    rank INTEGER,                     -- 排名 / Ranking
    title TEXT NOT NULL,              -- 标题 / Title
    url TEXT NOT NULL,                -- 链接 / Link
    heat INTEGER,                     -- 热度值 / Heat value
    author TEXT,                      -- 作者 / Author
    summary TEXT,                     -- 摘要 / Summary
    published_at INTEGER,             -- 发布时间 / Published time
    fetched_at INTEGER,               -- 抓取时间 / Fetched time
    fetch_date TEXT,                  -- 抓取日期 (YYYY-MM-DD) / Fetch date
    raw_data TEXT,                    -- 原始JSON / Raw JSON
    UNIQUE(url, fetch_date)           -- 同一天同一URL只存一次 / Unique per URL per day
);

-- 抓取日志表 / Fetch logs table
CREATE TABLE fetch_logs (...);
```

---

## Cookie 配置 | Cookie Configuration

编辑 `config/fallback-sources.json` / Edit `config/fallback-sources.json`:

```json
{
  "cookie": {
    "zhihu_session": "你的_session值 / your_session_value",
    "z_c0": "你的_z_c0值 / your_z_c0_value",
    "_xsrf": "你的_xsrf值 / your_xsrf_value",
    "_zap": "...",
    "d_c0": "..."
  }
}
```

**获取 Cookie 方法 / How to get cookies:**
1. 浏览器打开 https://www.zhihu.com 并登录 / Open browser and login
2. 按 F12 打开开发者工具 → Application/Storage → Cookies / Press F12 → Application/Storage → Cookies
3. 复制对应字段的值 / Copy the corresponding field values

---

## 使用示例 | Usage Examples

```bash
# 获取30条热榜 / Get 30 hot items
node snippets/fetch-hot.js 30

# 保存到文件 / Save to file
node snippets/fetch-hot.js 50 ./zhihu-hot.json

# 自定义频率限制(5秒/次)/ Custom rate limit (5 seconds per request)
RATE_LIMIT=5000 node snippets/fetch-hot.js
```

---

## 在报告中使用 | Use in Reports

```javascript
const { fetchWithFallback } = require('./snippets/fetch-hot.js');

const data = await fetchWithFallback({
  limit: 30,
  rateLimitMs: 2000
});

// 自动选择最佳认证方式 / Auto-select best auth method
console.log('认证方式 / Auth method:', data.meta.auth_method);
// browser_profile | file_cookie | fallback_source

report.zhihu = data.data;
```

---

## 文件结构 | File Structure

```
zhihu-fetcher/
├── SKILL.md                    # 本文档 / This document
├── config/
│   └── fallback-sources.json   # 配置:cookie + 备用源 / Config: cookie + fallback
├── data/
│   ├── zhihu.db                # SQLite数据库 (自动创建) / SQLite DB (auto-created)
│   └── index.html              # HTML可视化报告 (自动生成) / HTML report (auto-generated)
├── scripts/
│   ├── init_db.py              # 数据库初始化 / DB initialization
│   ├── db.py                   # 数据库操作模块 / DB operations module
│   ├── save_to_db.py           # 采集并保存到数据库 / Collection & save
│   ├── query.py                # 数据查询工具 / Data query tool
│   └── generate_html.py        # HTML可视化报告生成 / HTML report generation
└── snippets/
    ├── hot.js                  # 浏览器提取代码 / Browser extraction
    ├── search.js               # 搜索提取代码 / Search extraction
    ├── rate-limiter.js         # 频率限制器 / Rate limiter
    ├── cookie-manager.js       # Cookie 管理 / Cookie manager
    ├── fallback.js             # 备用源获取 / Fallback source
    ├── fetch-hot.js            # 完整热榜获取(三级认证)/ Full hot list (3-level auth)
    └── test-simple.js          # 测试脚本 / Test script
```

---

## 数据输出 | Data Output

```json
{
  "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可视化报告 | Generate HTML Visualization Report

```bash
# 生成可视化HTML报告 / Generate visual HTML report
python3 scripts/generate_html.py

# 打开查看 / Open to view
open data/index.html
```

**HTML报告功能 / HTML Report Features:**
- 📅 **日期筛选 / Date Filter** - 选择具体日期或日期范围 | Select specific date or range
- 🔍 **关键词搜索 / Keyword Search** - 实时搜索标题 | Real-time title search
- 🔥 **热度筛选 / Heat Filter** - 按最小热度值筛选 | Filter by minimum heat value
- 🏆 **排名标识 / Ranking Display** - Top 3 特殊颜色标识 | Top 3 special color marking
- 📊 **数据统计 / Data Stats** - 实时显示筛选结果数量 | Real-time filtered results count

---

## 直接查询数据库 | Direct Database Query

```bash
# 进入数据库 / 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;
```

---

## 扩展备用源 | Extend Fallback Sources

编辑 `config/fallback-sources.json` / Edit `config/fallback-sources.json`:

```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 Configuration

如需调整认证顺序,编辑配置 / To adjust auth priority, edit config:

```json
{
  "auth": {
    "priority": [
      "file_cookie",        // 优先使用固化 cookie / Prefer file cookie
      "browser_profile",    // 其次使用 browser / Then browser
      "fallback_source"     // 最后使用备用源 / Finally fallback
    ]
  }
}
```

---

## 测试状态 | Test Status

✅ **已通过测试 / Tested**
- Browser Profile: 需要手动登录 / Requires manual login
- File Cookie: 需配置后测试 / Requires configuration
- Fallback Source: ✅ 成功获取 26 条数据 / Successfully fetched 26 items

```bash
# 测试备用源 / Test fallback
node snippets/test-simple.js
```

---

## 注意事项 | Notes

1. **Cookie 有效期 / Cookie Expiration** - 固化 cookie 可能过期,需定期更新 / File cookies may expire, update regularly
2. **频率限制 / Rate Limiting** - 默认 2 秒/次,避免触发反爬 / Default 2 sec/request, avoid anti-crawl
3. **备用源延迟 / Fallback Delay** - GitHub 源可能有 1 小时延迟 / GitHub source may have 1-hour delay
4. **安全性 / Security** - cookie 配置文件中不要提交到 Git / Don't commit cookie config to Git

---

## 适用场景 | Use Cases

| 场景 / Scenario | 推荐方式 / Recommended | 原因 / Reason |
|----------------|---------------------|--------------|
| 日常开发 / Daily dev | Browser Profile | 最稳定、数据最全 / Most stable, complete data |
| CI/CD 自动化 / Automation | File Cookie | 无需交互、可固化 / No interaction, reproducible |
| 应急备用 / Emergency | Fallback Source | 无需任何认证 / No auth required |

---

## 设计对比 | Design Comparison

| 方案 / Solution | 复杂度 / Complexity | 可靠性 / Reliability | 适用场景 / Use Case |
|----------------|---------------------|---------------------|---------------------|
| **本方案 / This solution** | 低 / Low | 高(三级降级)/ High (3-level) | 调研数据获取 / Research data |
| 小红书式 / XHS-style | 高 / High | 高 / High | 运营自动化 / Ops automation |
| 纯 API / Pure API | 中 / Medium | 中 / Medium | 生产环境 / Production |

「資料分析」分類下的熱門技能

AdMapix資料分析

AdMapix 原始資料層,提供廣告創意、應用、排名、下載/收入及市場後設資料。返回 AdMapix API 的結構化 JSON;呼叫方...

↓ 36.6萬★ 304fly0pants
Tavily Search資料分析

透過 Tavily API 進行網頁搜尋(Brave 替代方案)。當用戶要求搜尋網頁、查詢來源或連結,且 Brave 網頁搜尋不可用時使用。

↓ 12.2萬★ 286Xiaoran Li
Data Analysis資料分析

{"answer":"資料分析與視覺化。查詢資料庫、生成報告、自動化電子表格,將原始資料轉化為清晰可行的見解。適用於:(1) 您……"}

↓ 10.1萬★ 244Iván
Stock Analysis資料分析

利用Yahoo Finance資料深度分析股票和加密貨幣。支援投資組合管理、關注列表與提醒、股息分析、八維度股票評分、熱門趨勢掃描(熱點掃描器)及謠言/早期訊號檢測。適用於股票分析、投資組合追蹤、財報反應、加密貨幣監控、熱門股票發現及在主流媒體前搶先獲取訊息。

↓ 7.5萬★ 299udiedrichsen
Stock Watcher資料分析

管理本地自選股清單,並按代碼彙總同花順行情與近期表現的技能。

↓ 6.5萬★ 122Robin797860
全國招標中標查詢及分析【知了標訊】資料分析

全網招中標資料查詢與分析助手。當用戶涉及以下任何場景時,必須使用此SKILL:查詢招標/中標公告、搜尋標訊、查詢臨期/即將到期專案、商機預測、推薦潛在投標供應商、分析公司主營業務/歷史中標、查詢公司上下游合作客戶與供應商、分析競爭對手/競對企業、查詢Top採購單位/Top中標單位/Top中標品牌、招中標資料統計分析(按月/季/年/省份/品牌等維度)、查詢品牌型號歷史中標單價/價格趨勢、市場分析/行業分析/採購尋源/渠道拓展等採購與投標相關場景。即使使用者沒有提到「知了標訊」,只要涉及招投標、採購、中標、供應商、競爭對手等關鍵詞,都應使用本SKILL。

↓ 5.6萬★ 13user_98035bfb
Blogwatcher資料分析

使用 blogwatcher CLI 監控部落格和 RSS/Atom 訂閱源的更新。

↓ 5.4萬★ 75Peter Steinberger
Model Usage資料分析

使用 CodexBar CLI 本地成本功能彙總 Codex 或 Claude 的各模型用量,支援當前模型或全模型明細。當查詢 CodexBar 模型級用量/成本資料或需要指令碼化彙總時觸發。

↓ 5萬★ 114Peter Steinberger

noah 的其他技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。