微信公众号文章抓取 v3.39.0
世界级微信文章抓取方案 — 整合 12 个竞品的精华,具备智能策略路由、OG元数据备选、图片段落关联、懒加载处理、图片下载、搜索发现、多格式导出、现代化 Web 管理界面等完整功能。
快速开始
# 抓取单篇文章(自动选择最佳策略)
/wechat-article-scraper "https://mp.weixin.qq.com/s/xxxxx"
# 下载图片到本地
/wechat-article-scraper "https://mp.weixin.qq.com/s/xxxxx" --download-images
# 导出为 PDF
/wechat-article-scraper "https://mp.weixin.qq.com/s/xxxxx" --format pdf
# 导出为 Excel (多 sheet 工作簿:文章列表、互动数据、分类统计、媒体资源)
/wechat-article-scraper "https://mp.weixin.qq.com/s/xxxxx" --format excel
# 保存文章到 SQLite 数据库(自动检测重复和变更)
python3 scripts/storage.py save article.json
# 查看数据库统计(作者分布、分类分布、WCI 分布)
python3 scripts/storage.py stats
# 全文搜索文章
python3 scripts/storage.py search "人工智能"
# 列出某作者的所有文章
python3 scripts/storage.py list --author "差评" --limit 50
# 创建批量任务队列
python3 scripts/queue.py create my-batch-job --workers 3 --delay 2
# 添加 URL 到队列
python3 scripts/queue.py add-urls queue_20260112_120000_my-batch-job "https://mp.weixin.qq.com/s/xxx1" "https://mp.weixin.qq.com/s/xxx2" "https://mp.weixin.qq.com/s/xxx3"
# 启动队列(支持暂停/恢复/停止)
python3 scripts/queue.py start queue_20260112_120000_my-batch-job
# 查看队列状态和进度
python3 scripts/queue.py status queue_20260112_120000_my-batch-job
# 搜索公众号文章
python3 scripts/search.py "人工智能投资" -n 10
# 启动 Web 管理界面(现代化 React + TypeScript 仪表盘)
cd web/backend && python main.py &
cd web/frontend && npm run dev
# 访问 http://localhost:3000 查看仪表盘
# 搜索并解析真实微信链接(避免搜狗链接过期)
python3 scripts/search.py "人工智能投资" -n 10 --resolve-urls
# ===== 公众号历史批量抓取(v3.22.0 新增)=====
# 第1步:微信扫码登录(保存登录态)
w auth login 个人号
# 第2步:抓取公众号全历史文章
# 需要从公众号主页 URL 提取 biz 和 token 参数
w history crawl 公众号名称 \
--biz=MzI5NjUyMDk0MA== \
--token=xxx \
--max 100 # 最多抓取100篇(0=无限制)
# 查看抓取进度
w history list
w history progress 公众号名称
# 从断点续传(自动支持)
w history crawl 公众号名称 --biz=xxx --token=xxx
# 使用脚本直接抓取
python3 scripts/history_crawler.py \
--biz=MzI5NjUyMDk0MA== \
--token=xxx \
--account-name="公众号名称" \
--max-articles 100核心能力
| 能力 | 说明 | 竞品对比 |
|---|---|---|
| 智能策略路由 | 自动选择最佳抓取策略,7级降级 | 独有 |
| 公众号历史抓取 | 批量抓取公众号全历史文章,支持断点续传 | 仅 wcplusPro 商业版支持 |
| 互动数据提取 | 阅读/点赞/在看/评论数抓取(需登录态) | 仅 1/12 竞品支持 |
| 微信登录态管理 | QR 码登录,持久化存储,多账号支持 | 独有 |
| OG 元数据备选 | 当微信选择器失败时自动使用 Open Graph | 独有 |
| 图片段落关联 | 智能识别图片与文本段落的关系 | 独有 |
| Content Status | 清晰的状态码系统 (ok/blocked/parse_empty) | 独有 |
| 自适应策略 | Scrapling 自适应反爬,轻量稳定 | 仅 1/12 竞品支持 |
| 懒加载处理 | 滚动触发图片加载,正确提取 data-src 真实 URL | 仅 2/12 竞品支持 |
| 反爬绕过 | ?scene=1 参数可绕过登录验证(已验证) | 仅 1/12 竞品知晓 |
| UA 轮换 | 7 种 User-Agent 自动轮换,提高成功率 | 仅 1/12 竞品支持 |
| 图片下载 | 并行下载图片到本地,避免 URL 过期 | 仅 2/12 竞品支持 |
| 搜狗搜索 | 通过关键词发现微信公众号文章 | 仅 1/12 竞品支持 |
| 多格式导出 | Markdown / JSON / HTML / PDF | 仅 3/12 竞品支持 |
| Web 管理界面 | React + TypeScript + Tailwind 仪表盘 | 独有 |
| 全文搜索 | SQLite FTS5 全文搜索引擎 | 独有 |
| 数据持久化 | SQLite 存储,增量更新检测 | 独有 |
| 任务队列 | 批量抓取队列,支持暂停/恢复/停止 | 独有 |
前置要求
⚠️ 重要发现: 使用 ?scene=1 参数可绕过微信登录要求(已验证)。如果抓取失败,再考虑登录微信。
方案 A:Chrome DevTools 模式(推荐,最可靠)
大多数情况下无需登录,如果抓取失败:
- 在 Chrome 浏览器中访问 https://mp.weixin.qq.com
- 扫码完成微信登录
- 保持浏览器窗口打开
方案 B:Playwright 模式
pip install playwright
playwright install chromium方案 C:Adaptive 模式(推荐新选择)
pip install "scrapling[ai]"Scrapling 专为复杂反爬页面设计,比 Playwright 轻量,比 requests 稳定。
方案 D:Fast 模式
pip install requests beautifulsoup4 lxml使用方式
CLI 用法
# 基础用法(默认输出到当前目录)
python3 scripts/scraper.py "<url>"
# 下载图片到本地
python3 scripts/scraper.py "<url>" --download-images
# 指定策略和输出格式
python3 scripts/scraper.py "<url>" \
--strategy reliable \
--format markdown \
--output ./articles \
--download-images
# 批量抓取
python3 scripts/scraper.py --batch urls.txt -o ./articles/ --delay 5
# 搜索公众号文章
python3 scripts/search.py "关键词" -n 10 --format markdown策略选择指南
| 策略 | 适用场景 | 前置要求 | 可靠性 | 速度 |
|---|---|---|---|---|
| fast | 快速抓取公开文章 | requests + BeautifulSoup | ⭐⭐ | ⚡⚡⚡ |
| adaptive | 需要自适应反爬(推荐) | 安装 Scrapling | ⭐⭐⭐⭐ | ⚡⚡ |
| stable | 需要完整渲染 | 安装 Playwright | ⭐⭐⭐⭐⭐ | ⚡ |
| reliable | 需要最高可靠性 | Chrome DevTools | ⭐⭐⭐⭐⭐ | ⚡ |
| zero_dep | 纯标准库,无需安装依赖 | Python 标准库 | ⭐⭐ | ⚡⚡⚡ |
| jina_ai | 使用 jina.ai 服务 | 无需安装,依赖网络 | ⭐⭐⭐ | ⚡⚡ |
默认策略:系统按 fast → adaptive → stable → reliable → zero_dep 顺序自动尝试,优先使用最快成功的策略。
何时指定策略?
- 抓取重要文章 → 指定
-s adaptive或-s reliable - 批量快速抓取 → 指定
-s fast - 遇到验证码频繁 → 指定
-s adaptive或-s reliable
Content Status 状态码
| 状态码 | 含义 | 恢复建议 |
|---|---|---|
ok | 抓取成功 | - |
blocked | 触发反爬验证 | 使用 reliable 策略,或等待 5 分钟后重试 |
no_mp_url | 无效的微信文章链接 | 检查 URL 格式 |
fetch_error | 网络请求失败 | 检查网络连接 |
parse_empty | 解析结果为空 | 文章可能被删除或需要特殊处理 |
need_mcp | 需要 MCP 模式 | 使用 Chrome DevTools MCP 抓取 |
在 Claude Code 中使用
User: 抓取这篇微信文章 https://mp.weixin.qq.com/s/xxxxx
Claude: 使用 Chrome DevTools MCP 抓取:
1. 导航到文章页面(自动添加 ?scene=1)
2. 滚动触发懒加载
3. 提取内容
4. 保存到 articles/文章标题.md实际调用代码:
// 步骤 1: 导航到文章(自动添加 ?scene=1)
mcp__chrome-devtools__navigate_page({
type: "url",
url: "https://mp.weixin.qq.com/s/xxxxx?scene=1"
});
// 步骤 2: 执行提取脚本
mcp__chrome-devtools__evaluate_script({
function: extractArticle // 见 scripts/extract.js
});搜索发现
# 搜索公众号文章
python3 scripts/search.py "关键词" -n 10 --format markdown
# 按时间筛选(day/week/month/year)
python3 scripts/search.py "新能源汽车" --time week -n 20
# 解析真实微信链接
python3 scripts/search.py "关键词" -n 5 -r批量下载已有 Markdown 中的图片
python3 scripts/images.py "文章.md" --output ./article-images/Web 管理界面(React + TypeScript)
现代化 Web 仪表盘,媲美竞品 wcplusPro 的 Vue.js 界面。
启动 Web 界面
# 1. 安装依赖
cd web/frontend && npm install
cd ../backend && pip install fastapi uvicorn
# 2. 启动后端
cd web/backend && python main.py
# 3. 启动前端(新终端)
cd web/frontend && npm run dev
# 4. 访问 http://localhost:3000Web 界面功能
| 功能 | 说明 |
|---|---|
| 仪表盘 | 文章统计、WCI 分布、分类分布、最新文章 |
| 文章管理 | 列表浏览、详情查看、筛选搜索 |
| 全文搜索 | SQLite FTS5 全文搜索,实时结果 |
| 任务队列 | 创建队列、批量抓取、进度监控、暂停/恢复/停止 |
技术栈
- 前端: React 18 + TypeScript + Vite + Tailwind CSS + TanStack Query + Recharts
- 后端: FastAPI + SQLite + WebSocket
高级功能
评论整理
整理微信公众号文章评论(需文章开启评论功能):
# 整理单篇文章的评论
python3 scripts/comments.py "https://mp.weixin.qq.com/s/xxxxx"
# 保存为 JSON
python3 scripts/comments.py "https://mp.weixin.qq.com/s/xxxxx" --format json --output comments.json
# 只显示热评
python3 scripts/comments.py "https://mp.weixin.qq.com/s/xxxxx" --top 10竞品对比: wcplusPro 等工具很少支持评论整理,这是我们独有的功能。
RSS Feed 生成
为抓取的文章生成 RSS 订阅源,支持 RSS 阅读器订阅:
# 生成主 RSS feed(包含所有文章)
python3 scripts/rss_generator.py --db wechat_articles.db
# 生成特定作者的 RSS
python3 scripts/rss_generator.py --author "差评" --name "pingwest-feed"
# 生成特定分类的 RSS
python3 scripts/rss_generator.py --category "科技" --name "tech-feed"
# 为所有作者生成单独的 feed
python3 scripts/rss_generator.py --all-authors
# 为所有分类生成单独的 feed
python3 scripts/rss_generator.py --all-categories
# 输出摘要而非全文
python3 scripts/rss_generator.py --summary --limit 100Web API:
GET /api/rss/wechat-articles # 获取主 RSS feed
GET /api/rss/wechat-articles?author=xxx # 按作者筛选
GET /api/rss/wechat-articles?category=xxx # 按分类筛选
GET /api/rss # 列出所有可用 feeds竞品对比: 只有极少数竞品支持 RSS 导出,且功能简陋。
MCP 服务器
作为 MCP (Model Context Protocol) 服务器运行,供 Claude Desktop 等客户端调用:
# 启动 MCP 服务器
python3 scripts/mcp_server.py
# 配置 Claude Desktop config.json:
{
"mcpServers": {
"wechat-scraper": {
"command": "python3",
"args": ["/path/to/scripts/mcp_server.py"]
}
}
}提供工具:
read_wechat_article: 读取微信文章内容search_wechat_articles: 搜索微信公众号文章search_wechat_accounts: 搜索公众号账号
竞品对比: 这是独有的 MCP 集成,没有任何竞品支持。
公众号监控订阅
订阅公众号,自动监控新文章发布:
# 添加订阅
python3 scripts/monitor.py add "差评" --wechat-id "chaping321"
# 列出所有订阅
python3 scripts/monitor.py list
# 手动检查更新
python3 scripts/monitor.py check
# 生成 RSS feed
python3 scripts/monitor.py rss
# 删除订阅
python3 scripts/monitor.py remove "差评"自动化 (添加到 crontab):
# 每 30 分钟检查一次
*/30 * * * * cd /path/to/wechat-article-scraper && python3 scripts/monitor.py check --notify竞品对比: wcplusPro 等工具不提供监控订阅功能。
内容质量评分
自动评估抓取结果的质量:
from quality import ContentValidator
validator = ContentValidator()
score = validator.validate(article_data)
print(f"总分: {score.total_score}") # 0-100
print(f"等级: {score.grade}") # excellent/good/fair/poor/invalid
print(f"问题: {score.issues}")
print(f"警告: {score.warnings}")评分维度:
- 标题分 (0-25): 长度、完整性
- 内容分 (0-50): 长度、噪声比例、重复内容
- 元数据分 (0-15): 作者、时间、链接
- 图片分 (0-10): 数量、有效性
竞品对比: 没有任何竞品提供自动质量评分。
AI 智能摘要
使用 LLM (Claude/OpenAI/DeepSeek/通义千问) 自动生成文章摘要:
# 设置 API Key(选择其中一个)
export ANTHROPIC_API_KEY="your-key" # Claude
export OPENAI_API_KEY="your-key" # OpenAI
export DEEPSEEK_API_KEY="your-key" # DeepSeek
export DASHSCOPE_API_KEY="your-key" # 通义千问
# 生成单篇文章摘要
python3 scripts/summarizer.py --title "文章标题" --content-file article.md
# 从数据库读取文章并生成摘要
python3 scripts/summarizer.py --db wechat_articles.db --article-id 123
# 批量处理
python3 scripts/summarizer.py --batch articles.json --delay 1.0
# 输出为 Markdown 格式
python3 scripts/summarizer.py --content-file article.md --format markdown
# 指定提供商
python3 scripts/summarizer.py --content-file article.md --provider deepseek输出示例:
{
"title": "文章标题",
"summary": "这是文章的3-5句话摘要...",
"key_points": ["要点1", "要点2", "要点3"],
"tags": ["人工智能", "投资", "科技"],
"sentiment": "positive",
"reading_time": 5,
"model": "deepseek/deepseek-chat"
}竞品对比: 没有任何竞品支持 AI 摘要生成。
Webhook 通知系统
新文章检测时自动发送通知到多个平台:
# 添加钉钉通知
python3 scripts/notifier.py add dingtalk dingtalk "https://oapi.dingtalk.com/robot/send?access_token=xxx"
# 添加飞书通知
python3 scripts/notifier.py add lark lark "https://open.feishu.cn/open-apis/bot/v2/hook/xxx"
# 添加企业微信通知
python3 scripts/notifier.py add wecom wecom "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
# 添加 Slack 通知
python3 scripts/notifier.py add slack slack "https://hooks.slack.com/services/xxx"
# 列出所有渠道
python3 scripts/notifier.py list
# 测试通知
python3 scripts/notifier.py test --title "测试标题" --content "测试内容"与监控集成 (自动通知):
from monitor import SubscriptionManager
from notifier import NotificationManager
# 监控配置自动发送通知
manager = SubscriptionManager()
notifier = NotificationManager()
# 检测到新文章时
new_articles = manager.check_updates()
for article in new_articles:
notifier.notify_new_article(article)支持的渠道:
- 钉钉 (DingTalk)
- 飞书 (Lark)
- 企业微信 (WeCom)
- Slack
- Discord
- Telegram
竞品对比: 没有任何竞品支持多平台 webhook 通知。
第三方平台导出
导出文章到 Notion / Airtable / Google Sheets:
# ========== Notion 导出 ==========
# 1. 创建 Notion 数据库
export NOTION_API_KEY="secret_xxx"
python3 scripts/exporters.py notion --create --page-id "your-page-id"
# 2. 导出文章到 Notion
python3 scripts/exporters.py notion --target-id "database-id" --limit 50
# ========== Airtable 导出 ==========
# 1. 在 Airtable 中手动创建表格
export AIRTABLE_API_KEY="keyxxx"
export AIRTABLE_BASE_ID="appxxx"
python3 scripts/exporters.py airtable --target-id "微信文章" --limit 100
# ========== Google Sheets 导出 ==========
# 1. 创建 Sheets 文档
export GOOGLE_CREDENTIALS_FILE="credentials.json"
python3 scripts/exporters.py google_sheets --create
# 2. 导出文章
python3 scripts/exporters.py google_sheets --target-id "spreadsheet-id"
# ========== 筛选导出 ==========
# 按作者导出
python3 scripts/exporters.py notion --target-id "xxx" --author "差评"
# 按分类导出
python3 scripts/exporters.py notion --target-id "xxx" --category "科技"Notion 字段映射:
| 字段 | 类型 | 说明 |
|---|---|---|
| 标题 | Title | 文章标题 |
| 作者 | Rich Text | 公众号名称 |
| 分类 | Select | 10个预设分类 |
| 发布时间 | Date | 原文发布时间 |
| URL | URL | 原文链接 |
| WCI 指数 | Number | 传播指数 |
| 阅读量 | Number | 阅读数 |
| 点赞数 | Number | 点赞数 |
| 标签 | Multi-Select | AI 生成的标签 |
| 摘要 | Rich Text | AI 摘要 |
| 内容 | Rich Text | 正文内容 |
| 导入时间 | Created Time | 自动记录 |
| 同步状态 | Select | 已同步/待同步/失败 |
竞品对比: 没有任何竞品支持第三方平台导出。
浏览器扩展
Chrome/Firefox 浏览器扩展,一键抓取当前微信文章:
# 安装扩展
# 1. Chrome: 打开 chrome://extensions/,开启开发者模式,加载 extension/chrome 文件夹
# 2. Firefox: 打开 about:debugging,加载 extension/firefox/manifest.json使用方式:
- 点击扩展图标: 在微信文章页面点击工具栏扩展图标
- 快捷键:
Ctrl+Shift+S快速抓取当前文章 - 右键菜单: 在文章页面右键 → "📰 抓取此微信文章"
功能特性:
- 一键抓取当前页面文章
- 支持 Markdown/HTML/JSON 格式
- 可选下载图片
- 自动上传到 Web 仪表盘
- 文章信息预览
扩展设置:
- 保存到本地: 自动下载文章文件
- 上传到服务器: 发送到本地 Web 后端
- 自动分类: 使用 AI 分类文章
竞品对比: 没有任何竞品提供浏览器扩展。
策略详解
策略对比
| 策略 | 速度 | 稳定性 | 前置要求 | 适用场景 |
|---|---|---|---|---|
| fast | ⚡⚡⚡ | ⭐⭐ | requests + BS4 | 快速测试 |
| adaptive | ⚡⚡ | ⭐⭐⭐⭐ | Scrapling | 日常抓取(推荐) |
| stable | ⚡ | ⭐⭐⭐⭐⭐ | Playwright | 完整渲染 |
| reliable | ⚡ | ⭐⭐⭐⭐⭐ | Chrome DevTools | 重要文章 |
| zero_dep | ⚡⚡⚡ | ⭐⭐ | Python 标准库 | 无依赖环境 |
| jina_ai | ⚡⚡ | ⭐⭐⭐ | jina.ai 服务 | 网络环境好 |
策略路由逻辑
用户请求
### 命令行工具 (CLI)
原生命令行工具,支持单文件可执行程序分发:
进入 CLI 目录
cd cli
方式一:pip 安装
pip install -e .
方式二:单文件可执行程序(无需 Python 环境)
./build.sh
输出: dist/w (约 21MB,独立可执行)
**使用方式**:
抓取单篇文章
w scrape "https://mp.weixin.qq.com/s/xxxxx"
指定格式和策略
w scrape "https://mp.weixin.qq.com/s/xxxxx" -f json -s adaptive
下载图片
w scrape "https://mp.weixin.qq.com/s/xxxxx" --images -o ./article.md
批量抓取
w batch urls.txt -o ./output --workers 5
搜狗搜索
w search "人工智能" --limit 20 -o results.json
监控管理
w monitor add MzI5NjA0MTIxMA== --interval 3600 w monitor list
配置管理
w config --show w config --edit
**命令列表**:
| 命令 | 说明 | 示例 |
| --- | --- | --- |
| `scrape` | 抓取单篇文章 | `w scrape <url>` |
| `batch` | 批量抓取 | `w batch urls.txt` |
| `search` | 搜狗搜索 | `w search <keyword>` |
| `monitor` | 监控管理 | `w monitor add <biz_id>` |
| `config` | 配置管理 | `w config --show` |
| `version` | 版本信息 | `w version` |
**构建单文件可执行程序**:
cd cli
一键构建
./build.sh
或手动构建
uv venv source .venv/bin/activate uv pip install pyinstaller typer rich ... pyinstaller w.spec --clean
输出: dist/w (macOS/Linux/Windows)
约 21MB,无需 Python 环境,下载即用
**竞品对比**: **没有任何竞品提供原生 CLI 工具**,竞品仅提供 Python 脚本。
### Docker 部署
完整的 Docker 容器化支持,一键启动 Web 服务:
方式一:docker-compose 一键启动(推荐)
docker-compose up -d
查看日志
docker-compose logs -f
停止服务
docker-compose down
方式二:Docker 命令行
docker build -t wechat-scraper . docker run -d -p 8000:8000 -v ./data:/data wechat-scraper
**Docker 运行模式**:
启动 Web 仪表盘(默认)
docker run -p 8000:8000 wechat-scraper web
运行 CLI 命令
docker run wechat-scraper scrape "https://mp.weixin.qq.com/s/xxx"
批量抓取
docker run -v ./data:/data wechat-scraper batch /data/urls.txt
进入交互式 Shell
docker run -it wechat-scraper shell
**数据持久化**:
docker-compose.yml 已配置
volumes: - ./data:/data # 数据目录 - ./data/articles:/data/articles # 文章存储 - ./data/db:/data/db # SQLite 数据库
**镜像特性**:
- 基于 `python:3.12-slim`,多阶段构建
- 镜像大小: ~150MB
- 支持 CLI + Web 仪表盘
- 数据卷持久化
- 健康检查
- 自动重启
**竞品对比**: **wechat-spider 支持 Docker**,我们已追上;**wcplusPro 等商业软件无 Docker 支持**,我们领先。
│ ├─ 指定策略? │ ├─ 是 → 优先使用该策略 │ └─ 否 → 按 fast → adaptive → stable → reliable → zero_dep → jina_ai 顺序尝试 │ ├─ 失败? │ ├─ 是 → 自动降级到下一策略(带重试) │ └─ 否 → 返回成功结果 │ └─ 全部失败 → 返回错误代码和恢复建议
重试机制
每种策略默认重试 3 次,每次间隔递增:
- 第 1 次失败后:等待 0.5s
- 第 2 次失败后:等待 1.0s
- 第 3 次失败后:等待 1.5s
同时自动轮换 User-Agent,提高成功率。
错误代码与恢复
| 错误代码 | 错误描述 | 恢复操作 |
|---|---|---|
| E001 | 未找到文章内容 | 检查 URL 是否正确,文章是否被删除 |
| E002 | 触发反爬验证 | 尝试使用 reliable 策略,或等待 5 分钟后重试 |
| E003 | 登录态过期 | 重新访问 https://mp.weixin.qq.com 扫码登录 |
| E004 | 网络超时 | 检查网络连接,或增加超时参数 |
| E005 | 策略全部失败 | 检查依赖是否安装,或报告问题 |
技术实现
关键技巧 1:?scene=1 参数(绕过登录)
已验证: 使用 ?scene=1 参数可以在无登录状态下获取文章内容。
# 自动处理 URL
if '?' not in url:
url = url + '?scene=1'
elif 'scene=' not in url:
url = url + '&scene=1'关键技巧 2:OG 元数据备选
当微信特定选择器失败时,自动使用 Open Graph 元数据:
# OG 元数据提取
og_title = soup.find('meta', property='og:title')
og_author = soup.find('meta', property='og:article:author')
og_time = soup.find('meta', property='og:article:published_time')关键技巧 3:懒加载图片提取
// 提取真实图片 URL
const realSrc = img.getAttribute('data-src') || img.src;
if (realSrc && !realSrc.includes('data:image/svg+xml')) {
images.push({ src: realSrc, alt: img.alt });
}关键技巧 4:图片段落关联
// 智能识别图片与段落的关系
images.push({
src: realSrc,
paragraphIndex: currentParagraphIndex, // 关联到段落
isContentImage: width > 200 || height > 200
});关键技巧 5:装饰性图片过滤
# 过滤规则
- SVG 占位符: data:image/svg+xml
- 装饰图路径: yZPTcMGWibvsic9Obib
- 尺寸过小: < 50px关键技巧 6:UA 轮换
USER_AGENTS = [
'Chrome 120 (Mac)',
'Chrome 120 (Windows)',
'Safari 17 (Mac)',
'Firefox 121 (Windows)',
'Chrome 120 (Linux)',
'iPhone Safari',
'iPad Safari',
]文件结构
wechat-article-scraper/
├── SKILL.md # 本文档
├── scripts/
│ ├── scraper.py # 主入口(支持批量模式)
│ ├── router.py # 策略路由器(6级策略+OG备选)
│ ├── images.py # 图片下载(支持段落关联)
│ ├── search.py # 搜狗搜索(支持链接解析)
│ ├── export.py # 多格式导出(Excel/PDF/HTML/JSON/Markdown,多sheet工作簿)
│ ├── classifier.py # 文章自动分类(10类)
│ ├── storage.py # SQLite 持久化存储(增量更新+全文搜索+统计分析)
│ ├── queue.py # 批量任务队列(断点续传+失败重试+并发控制)
│ ├── comments.py # 评论整理(热评、回复、点赞数)
│ ├── rss_generator.py # RSS Feed 生成器(支持全文/摘要)
│ ├── mcp_server.py # MCP 服务器(Claude Desktop 集成)
│ ├── monitor.py # 公众号监控订阅(自动检测新文章)
│ ├── quality.py # 内容质量评分系统
│ ├── cache.py # 缓存系统(提高性能)
│ ├── summarizer.py # AI 智能摘要(LLM 驱动)
│ ├── notifier.py # Webhook 通知系统(多平台)
│ ├── exporters.py # 第三方平台导出(Notion/Airtable/Google Sheets)
│ ├── extract.js # Chrome DevTools 提取脚本(OG备选+段落关联)
│ └── playwright_scraper.py # Playwright 抓取
├── web/ # Web 管理界面
│ ├── backend/
│ │ └── main.py # FastAPI 后端(REST API + WebSocket)
│ ├── frontend/ # React + TypeScript + Tailwind
│ │ ├── src/
│ │ │ ├── api/ # API 客户端
│ │ │ ├── components/ # UI 组件
│ │ │ ├── pages/ # 页面(Dashboard/Articles/Queues/Search)
│ │ │ ├── types/ # TypeScript 类型
│ │ │ └── lib/ # 工具函数
│ │ ├── package.json
│ │ └── vite.config.ts
│ └── README.md
├── extension/ # 浏览器扩展 (Chrome/Firefox)
│ ├── chrome/ # Chrome 扩展
│ ├── firefox/ # Firefox 扩展
│ ├── shared/ # 共用代码
│ │ ├── popup/ # 弹出窗口
│ │ ├── content/ # 内容脚本
│ │ └── background/ # 后台脚本
│ └── README.md
├── references/
│ └── failed-approaches.md # 失败方案记录
└── evals/
└── evals.json # 评测用例失败方案记录(DO NOT ATTEMPT)
| 方案 | 失败模式 | 根因 | 经验教训 |
|---|---|---|---|
| WebFetch 直接抓取 | 返回"环境异常"验证页 | 微信反爬检测非浏览器 UA | 必须使用真实浏览器或高质量 UA |
| Snapshot 方式 | 图片为占位符 SVG | 未触发懒加载,data-src 未转换 | 必须滚动页面触发加载 |
| opencli 探索 | 无微信 CLI 可用 | 微信未开放公开 API | 不要浪费时间寻找不存在的 CLI |
| curl/wget | 被拦截返回验证页 | 缺少浏览器 Cookie 和 UA | 命令行工具无法绕过现代反爬 |
| r.jina.ai 服务 | 偶尔超时 | 第三方服务不稳定 | 作为 fallback,不要依赖 |
限制与边界
无法抓取的情况
- 文章被删除或违规下架
- 需要付费阅读的内容(只能抓取预览部分)
- 视频只能提取 URL 和封面,无法下载视频文件
图片处理限制
- 图片 URL 有时效性(默认 30 天),长期保存建议开启
--download-images - 微信 CDN 图片可能带水印
- GIF 动图可能只保存第一帧
批量抓取限制
- 搜狗搜索有频率限制,建议间隔 2 秒以上
- 同一 IP 短时间内大量请求可能触发验证码
- 建议单批次不超过 50 篇
输出示例
Markdown 格式(带 YAML Front Matter)
---
title: AlphaClaw投研小龙虾第三讲
author: 熵简科技Value Simplex
publish_time: 2026年4月2日 18:59
source_url: https://mp.weixin.qq.com/s/xxxxx
exported_at: 2026-04-12T10:30:00
content_status: ok
---
# AlphaClaw投研小龙虾第三讲:接入iFind数据源
**作者**: 熵简科技Value Simplex
**发布时间**: 2026年4月2日 18:59
**来源**: https://mp.weixin.qq.com/s/xxxxx
---
一个月前,AlphaEngine 正式推出了 AlphaClaw 功能...

---
*本文档由 wechat-article-scraper 于 2026-04-12 生成*JSON 格式
{
"title": "AlphaClaw投研小龙虾第三讲",
"author": "熵简科技Value Simplex",
"publishTime": "2026年4月2日 18:59",
"content": "一个月前,AlphaEngine 正式推出了...",
"paragraphs": [
{"index": 0, "text": "一个月前..."},
{"index": 1, "text": "AlphaClaw 功能..."}
],
"images": [
{
"src": "https://mmbiz.qpic.cn/mmbiz_png/xxxxx/640",
"alt": "配图 1",
"paragraphIndex": 2
}
],
"source_url": "https://mp.weixin.qq.com/s/xxxxx",
"content_status": "ok",
"_export_meta": {
"version": "3.0.3",
"exported_at": "2026-04-12T10:30:00",
"strategy": "adaptive"
}
}批量抓取示例
#!/bin/bash
# 批量抓取脚本 (batch_scrape.sh)
URLS_FILE="urls.txt"
OUTPUT_DIR="./articles"
mkdir -p "$OUTPUT_DIR"
count=0
while IFS= read -r url; do
[[ -z "$url" ]] && continue
count=$((count + 1))
echo "[$count] 抓取: $url"
python3 scripts/scraper.py "$url" \
--strategy adaptive \
--output "$OUTPUT_DIR" \
--download-images
# 间隔 3 秒避免风控
sleep 3
done < "$URLS_FILE"
echo "完成: 共抓取 $count 篇文章"批量抓取最佳实践:
- 使用
adaptive策略确保成功率 - 间隔 3-5 秒避免触发风控
- 单批次建议不超过 50 篇
- 使用
--download-images避免图片 URL 过期 - 准备 URL 列表文件,每行一个链接
v3.38.0 (2025-04-12)
- 云端部署与实时协作系统 v1.0: Vercel + Supabase + Yjs 完整SaaS架构
- 云端部署: Next.js + Vercel Serverless, Supabase托管数据库, 一键部署脚本 - 实时协作: Yjs CRDT冲突自动解决, WebSocket多人协同编辑, 光标/选区同步 - 多租户架构: Workspace隔离, 基于RLS的权限控制, 团队成员管理 - 协作功能: 文章实时协作编辑, 评论批注系统, 团队成员在线状态 - CLI集成: w cloud 命令 (init/deploy/logs/status) - 竞品对比: wcplusPro仅限本地, 我们提供完整云端SaaS体验
v3.42.0 (2026-04-12) - Agent SDK 阅读助手
核心价值: 打穿"标注→洞察→应用"闭环
- 🤖 重构: 使用 Claude Agent SDK (JS/TS) 重写阅读助手
- 配置: Base URL https://api.kimi.com/coding/, Model kimi-for-coding - 工具定义: extract_insights, generate_reading_notes, find_connections, suggest_actions - Agent Loop: ReAct pattern with streaming support - 状态管理: AgentState with checkpoint/restore
- 🧠 InsightExtractor 组件: 打通闭环的核心 UI
- 一键提取标注洞察 (4种类型: concept/method/case_study/evidence) - 智能推荐行动项 (按优先级分类) - 选择性导出: 用户可选择高价值洞察 - 支持导出到: Notion / Obsidian / Markdown
- 📚 竞品分析精华吸取:
- Sync: 学习 RxDB replication, PowerSync SQLite, Electric CRDT - Agent: 采用 Anthropic SDK Session/Event Loop 模式 - 抛弃: LangChain 过度抽象, LlamaIndex 复杂 DSL
架构改进:
标注 (Reader) → Agent SDK (提取洞察) → InsightExtractor (选择导出) → 工作流 (Notion/Obsidian)版本历史
v3.6.0
- ✨ 新增: Chrome/Firefox 浏览器扩展
- 一键抓取当前微信文章 - 支持 Markdown/HTML/JSON 格式 - 快捷键 Ctrl+Shift+S 快速抓取 - 右键菜单集成 - 与 Web 仪表盘无缝集成 - 竞品完全无此功能
v3.39.0 (2025-04-12)
- PWA移动端体验优化 v1.0: 可安装Web应用、离线访问、推送通知
- Service Worker: 多级缓存策略(静态/动态/网络优先)、后台同步、定期后台更新 - Web App Manifest: 可添加到主屏幕、多尺寸图标适配、快捷操作入口 - 移动端UI: 底部导航栏、卡片布局、触摸目标优化、刘海屏安全区域适配 - 推送通知: Web Push API集成、抓取完成提醒、通知交互处理 - 离线支持: 离线状态检测、缓存优先读取、后台文章同步 - 竞品对比: wcplusPro需下载安装原生App, 我们PWA即开即用、自动更新、无需审核
v3.41.0 (2025-04-12)
- 浏览器扩展 + 内容发现 v1.0: 补齐工作流最后缺口,实现"看到即保存"
- Chrome Extension Manifest V3: Service Worker后台处理、内容脚本注入 - 悬浮操作按钮: 右下角一键保存、下拉菜单、阅读进度条 - 页面内标注: 5色高亮、即时批注、选中即标 - Popup面板: 当前页面状态、最近保存、快捷操作 - 快捷键支持: Ctrl+Shift+S保存、Ctrl+Shift+A标注 - 右键菜单: 保存页面/链接/选中内容 - 竞品对比: Readwise核心优势就是浏览器扩展,现在我们对齐
v3.40.0 (2025-04-12)
- 阅读标注工作流 v1.0: 从功能堆砌到价值闭环的重新设计
- 核心价值转变: 从"抓取文章"到"让微信内容研究效率提升10倍" - 世界级框架对标: Hypothesis(标注存储) + Readwise(阅读工作流) + Mercury(阅读体验) - 段落级标注系统: 5色高亮、批注笔记、XPath持久化存储、IndexedDB离线 - 沉浸式阅读器: 3种主题(白天/护眼/夜间)、4级字号、阅读进度追踪 - 阅读Agent: Claude Agent SDK + Kimi API, 自动提取洞察、生成笔记、每日回顾 - 导出集成: Readwise兼容格式、Markdown/Obsidian/Notion多格式导出 - 完整用户旅程: 发现→抓取→阅读→标注→提取→产出, 真正打透闭环
v3.39.0 (2025-04-12)
- PWA移动端体验优化 v1.0: 可安装Web应用、离线访问、推送通知
- Service Worker: 多级缓存策略(静态/动态/网络优先)、后台同步、定期后台更新 - Web App Manifest: 可添加到主屏幕、多尺寸图标适配、快捷操作入口 - 移动端UI: 底部导航栏、卡片布局、触摸目标优化、刘海屏安全区域适配 - 推送通知: Web Push API集成、抓取完成提醒、通知交互处理 - 离线支持: 离线状态检测、缓存优先读取、后台文章同步 - 竞品对比: wcplusPro需下载安装原生App, 我们PWA即开即用、自动更新、无需审核
v3.38.0 (2025-04-12)
- 云端部署与实时协作系统 v1.0: Vercel + Supabase + Yjs 完整SaaS架构
- 云端部署: Next.js + Vercel Serverless, Supabase托管数据库, 一键部署脚本 - 实时协作: Yjs CRDT冲突自动解决, WebSocket多人协同编辑, 光标/选区同步 - 多租户架构: Workspace隔离, 基于RLS的权限控制, 团队成员管理 - 协作功能: 文章实时协作编辑, 评论批注系统、团队成员在线状态 - CLI集成: w cloud 命令 (init/deploy/logs/status) - 竞品对比: wcplusPro仅限本地, 我们提供完整云端SaaS体验
v3.35.0 (2025-04-12)
- 智能Agent搜索系统 v1.0: 语义检索/知识问答/智能推荐
- Agent架构: 基于Claude Agent SDK (JS/TS) + Kimi API构建 - 语义搜索Agent: LLM理解查询意图、智能工具调用、结果解释 - 问答Agent (RAG): 检索增强生成、引用溯源、置信度评估 - 推荐Agent: 基于内容相似度、作者、阅读历史的智能推荐 - CLI集成: w agent 命令 (search/ask/recommend) - 竞品完全无此功能
v3.34.0 (2025-04-12)
- AI智能写作引擎 v2.0: 真LLM驱动/多模型集成/成本追踪
- 多模型LLM集成: OpenAI GPT-4、Anthropic Claude、DeepSeek、百度文心、阿里通义 - Prompt优化引擎: 5种系统提示词模板、Few-shot学习、Chain-of-Thought - 批量内容生成: 异步API调用、并发控制、批量标题/摘要生成 - 成本追踪系统: 按提供商/模型的token成本计算、使用统计、预算控制 - 质量评分算法: 基于内容结构、语义完整性、风格一致性(0-100分) - CLI集成: w ai-write 命令统一入口 - 竞品核心付费功能 (wcplusPro/新榜AI写作)
v3.33.0 (2025-04-12)
- 定时任务与自动化系统 v1.0: Cron定时/自动整理/任务通知
- 任务调度器: Cron表达式解析、任务调度循环、多任务类型支持 - 执行日志: 执行记录、成功率统计、错误追踪、历史查询 - 通知系统: 邮件/SMTP、Webhook回调、5种通知模板、通知历史 - 内置任务: scrape/export/backup/cleanup/custom 5种类型 - CLI集成: w scheduler 命令(create/list/run/toggle/delete/history/stats/daemon) - 竞品核心付费功能 (wcplusPro定时整理)
v3.32.0 (2025-04-12)
- 数据可视化与智能分析系统 v1.0: 交互式图表与AI洞察
- 数据仪表盘: 阅读趋势、互动热力图、文章排行 - 竞品分析: 多账号对比、竞争力评分、内容策略分析 - AI智能洞察: 异常检测、趋势分析、运营建议 - 热点追踪: 自动发现热点话题、传播速度监控 - CLI集成: w analytics 命令统一入口 - 竞品核心付费功能
v3.30.0 (2025-04-12)
- 舆情监控系统 v1.0: 专业级舆情监控与危机预警
- 敏感词检测: 实时扫描敏感内容 (政治/色情/暴力/赌博/毒品/诈骗) - 品牌提及追踪: 追踪品牌/关键词在文章中的提及 - 情感趋势分析: 正面/中性/负面情绪监控 - 危机预警系统: 异常传播速度检测、敏感内容预警 - CLI 集成: w sentiment 命令管理监控 - 竞品完全无此功能
v3.29.0 (2025-04-12)
- 浏览器扩展 v2.0: Chrome/Firefox 插件完善
- Content Script: 页面内容提取、一键整理 - Background Script: 右键菜单、快捷键、自动下载 - Popup UI: 格式选择、进度显示、结果操作 - 支持 Markdown/HTML/JSON 格式导出 - 快捷键: Ctrl+Shift+S 快速抓取
v3.28.0 (2025-04-12)
- 多格式导出引擎 v1.0: Excel/PDF/Word/Markdown/JSON/CSV
- Excel: 样式美化、多sheet、统计图表 - PDF: 中文支持、分页优化 - Word: 格式保持、目录生成 - 导出模板: 自定义字段、样式
- 高级筛选系统 v1.0: 多条件组合筛选
- 筛选条件: 时间/公众号/关键词/阅读量/标签 - 支持 AND/OR 逻辑组合 - 筛选模板保存/加载
- 批量操作引擎 v1.0: 批量导出/编辑/同步/删除
- 任务队列和进度追踪 - 批量同步到第三方平台
v3.27.0 (2025-04-12)
- 团队协作系统 v1.0: 多用户、共享工作区、权限管理
- RBAC 权限控制: admin/member/viewer 三级角色 - 团队共享: 公众号监控列表、文章收藏夹 - 文章标注: 标签、评论、高亮系统 - 邀请码机制: 通过邀请码加入团队
- 第三方集成 v1.0: Notion/语雀/Airtable 同步
- Notion 数据库自动同步 - 语雀知识库归档 - Airtable 表格同步
v3.26.0 (2025-04-12)
- 自动化工作流引擎 v1.0: IFTTT风格的触发-动作系统
- 触发器系统: 新文章/热度阈值/关键词匹配/定时触发 - 动作执行器: Webhook/邮件/企业微信/飞书/本地脚本 - RESTful API + WebSocket 实时通知 - 工作流执行日志与统计
v3.5.0
- ✨ 新增: 第三方平台导出器
- Notion 数据库集成(自动创建数据库、字段映射) - Airtable 表格同步 - Google Sheets 导出 - 支持增量导出、按作者/分类筛选 - 竞品完全无此功能
v3.4.0
- ✨ 新增: AI 智能摘要生成器
- 使用 LLM (Claude/OpenAI/DeepSeek/通义千问) 生成文章摘要 - 提取关键要点、标签、情感分析 - 支持批量处理 - 与数据库集成保存摘要 - 竞品完全无此功能
- ✨ 新增: Webhook 通知系统
- 支持 6 大平台:钉钉、飞书、企业微信、Slack、Discord、Telegram - 新文章检测时自动推送通知 - 支持 Markdown 卡片、按钮等丰富格式 - 与 monitor.py 监控模块无缝集成 - 竞品完全无此功能
v3.3.0
- ✨ 新增: RSS Feed 生成器
- 为抓取的文章生成 RSS 2.0 订阅源 - 支持按作者、分类筛选生成独立 feed - 支持全文输出或摘要输出 - Web API 集成:GET /api/rss/wechat-articles - 竞品几乎不支持 RSS 导出
v3.2.0
- ✨ 新增: 现代化 Web 管理界面
- React 18 + TypeScript + Tailwind CSS 前端 - FastAPI + SQLite + WebSocket 后端 - 仪表盘:文章统计、WCI 分布、分类分布图表 - 文章管理:列表浏览、详情查看、全文搜索 - 任务队列:可视化队列管理、实时进度监控、暂停/恢复/停止控制 - 吸取竞品 wcplusPro Vue.js 界面精华,技术栈领先
v3.1.0
- ✨ 新增: 文章自动分类
- 10 类别分类器(科技、财经、汽车、医疗、教育、娱乐、生活、职场、时事、文化) - 基于标题、作者、内容关键词的分类算法 - WCI 传播指数计算(WeChat Communication Index)
v3.0.2
- ✨ 改进: 批量抓取模式支持代理配置
- batch_scrape() 函数支持 proxy 参数 - 批量 CLI 模式支持 --proxy 参数
v3.0.1
- ✨ 新增: Fast 策略支持 HTTP 代理配置
- StrategyRouter 支持 proxy 参数 - CLI 添加 --proxy 参数 - 适配需要通过代理访问网络的环境
v3.0.0
- ✨ 新增: 互动数据提取
- 阅读量、点赞数、在看数提取 - Markdown 导出显示互动数据 - Chrome DevTools + Playwright 策略支持(需要页面渲染)
v2.9.3
- ✨ 改进: HTML 导出支持视频嵌入
- 使用 <video> 标签嵌入视频播放器 - 支持 poster 封面图预览 - 视频列表独立章节展示
v2.9.2
- ✨ 改进: 所有 6 个策略统一支持视频提取
- Fast/Adaptive/Stable/Reliable/ZeroDep/JinaAI 全部支持 - 统一视频数据格式:src, poster, duration, title - 视频数据与图片数据并列返回
v2.9.1
- ✨ 新增: 视频提取功能
- 自动识别 <video> 标签和 mpvideosrc 标签 - 提取视频 URL、封面图、时长、标题 - 视频按原文顺序插入 Markdown 内容 - 导出独立的视频列表章节
v2.9.0
- ✨ 新增: 吸取 wechat-article-camofox 精华
- 详细的 STOP_MARKERS 噪音标记(40+ 条规则) - SKIP_SUBSTRINGS 跳过子串列表 - 日期正则 DATE_RE 从正文提取发布时间 - 图片按原文顺序插入正文(生成 Markdown) - 更强的噪音元素过滤(.js_uneditable, .rich_media_tool 等) - 跳转二维码 和 划线引导图 alt 过滤
- ✨ 改进: 所有策略(fast/adaptive)统一应用 camofox 精华
- ✨ 改进: extract.js 增强版,支持递归 DOM 遍历保持原文顺序
v2.8.0
- ✨ 新增: 吸取 jisu-wechat-article 精华
- 搜狗链接解析:resolve_real_url() 函数支持将搜狗跳转链接解析为真实微信链接 - 从 URL 参数提取真实链接(避免额外请求) - antispider 风控链接检测与过滤 - 搜索模块新增 -r/--resolve-urls 参数,支持批量解析搜索结果的真实链接
v3.21.0
- ✨ 新增: 原生 CLI 工具 (Typer + Rich)
- ✨ 新增: 命令: scrape, batch, search, monitor, config
- ✨ 新增: PyInstaller 单文件可执行程序构建
- ✨ 新增: Docker 完整支持 (多阶段构建,~150MB)
- ✨ 新增: Shell 补全支持 (bash/zsh/fish)
v3.6.0
- ✨ 新增: 浏览器扩展 (Chrome/Firefox),支持一键抓取
- ✨ 新增: 右键菜单集成,快捷键支持 (Ctrl+Shift+S)
- ✨ 新增: 浮动抓取按钮,页面内快速操作
- 🔧 修正: 优化 content script 注入逻辑
v2.7.0
- ✨ 改进: 吸取 wechat-article-full-reader 精华
- 图片下载支持从 wx_fmt URL 参数提取正确扩展名(png/gif/webp)
- ✨ 改进: 吸取 wechat-article-browseruse 精华
- 文本清理:处理 \xa0 非断空格字符 - 支持 data-backsrc 图片懒加载属性 - 过滤 res.wx.qq.com/op_res/ 微信 CDN 资源 - 更完善的噪音元素过滤(script/style/svg/iframe/form/button)
- ✨ 完善: 所有策略(fast/adaptive/stable/reliable)统一图片过滤规则
v2.5.0
- ✨ 新增: Jina AI 策略,使用 r.jina.ai 服务作为最后的可靠 fallback
- ✨ 升级: 6 级策略路由(fast → adaptive → stable → reliable → zero_dep → jina_ai)
- ✨ 改进: 吸取 wechat-article-1.0.0 精华,增加第三方服务 fallback
v2.4.0
- ✨ 新增: Zero-Dependency 策略,纯标准库模式,无需任何外部依赖
- ✨ 升级: 5 级策略路由(fast → adaptive → stable → reliable → zero_dep)
- ✨ 新增: 页面截图功能(Playwright 策略支持)
- ✨ 新增: html2text 和 markdownify 转换器选项
- ✨ 新增: 搜狗搜索时间戳解析(JavaScript timeConvert)
- ✨ 新增: miku-ai 搜索引擎备选
v2.1.0
- ✨ 新增: Adaptive 策略(Scrapling),轻量稳定
- ✨ 新增: OG 元数据备选提取,提高成功率
- ✨ 新增: 图片段落关联,智能识别图文关系
- ✨ 新增: Content Status 状态码系统
- ✨ 新增: UA 轮换和智能重试机制
- ✨ 新增: 批量抓取模式
- 🔧 修正:?scene=1 可绕过登录(无需登录态)
v2.0.0
- ✨ 重大发现:
?scene=1参数可绕过微信登录(已验证) - ✨ 智能策略路由器,自动选择最佳抓取策略
- ✨ 图片下载模块,支持并行下载和本地存储
- ✨ 搜狗搜索集成,通过关键词发现文章
- ✨ 多格式导出(Excel/Markdown/JSON/HTML/PDF,多sheet工作簿)
- ✨ 装饰性图片智能过滤
v1.0.0
- ✅ Chrome DevTools MCP 抓取
- ✅ 懒加载图片处理
- ✅ 基础 Markdown 导出
竞品对比总结
| 功能 | 本方案 | 竞品最佳 | 差距 |
|---|---|---|---|
| 懒加载处理 | ✅ | ✅ | 持平 |
| 策略路由 | ✅ 6级 | ❌ 最多2级 | 领先 |
| OG 元数据备选 | ✅ | ❌ | 领先 |
| 图片段落关联 | ✅ | ❌ | 领先 |
| Content Status | ✅ | ❌ | 领先 |
| UA 轮换 | ✅ | ❌ | 领先 |
| Adaptive 策略 | ✅ | ❌ | 领先 |
| 零依赖模式 | ✅ | 仅1个竞品支持 | 领先 |
| Jina AI fallback | ✅ | 仅1个竞品支持 | 领先 |
| data-backsrc 支持 | ✅ | 仅1个竞品支持 | 领先 |
| op_res 过滤 | ✅ | 仅1个竞品支持 | 领先 |
| STOP_MARKERS 过滤 | ✅ | 仅1个支持 | 领先 |
| 日期正则提取 | ✅ | 仅1个支持 | 领先 |
| 页面截图 | ✅ | 仅2个竞品支持 | 领先 |
| 图片下载 | ✅ | 部分 | 领先 |
| 表格结构保留 | ✅ | 未明确 | 领先 |
| 搜索发现 | ✅ | 少数 | 持平 |
| 多格式导出 | ✅ | 少数 | 持平 |
| 反爬绕过 | ✅ | 少数 | 持平 |
| Web GUI | ✅ React+TS+Tailwind | ✅ Vue.js (wcplusPro) | 技术领先 |
| SQLite 持久化 | ✅ | ❌ | 领先 |
| 全文搜索 | ✅ FTS5 | ❌ | 领先 |
| 任务队列 | ✅ 暂停/恢复/停止 | ❌ | 领先 |
| 自动分类 | ✅ 10 类 | ❌ | 领先 |
| 评论整理 | ✅ 热评/回复/点赞 | ❌ | 领先 |
| RSS 生成 | ✅ 全文/摘要/多 feed | ❌ | 领先 |
| MCP 服务器 | ✅ Claude Desktop 集成 | ❌ | 独有 |
| 监控订阅 | ✅ 自动检测新文章 | ❌ | 领先 |
| 智能去重 | ✅ 相似度+哈希 | ❌ | 独有 |
| 优先级算法 | ✅ WCI+关键词 | ❌ | 独有 |
| 智能批处理 | ✅ 实时+聚合 | ❌ | 独有 |
| 告警疲劳保护 | ✅ 静默+限速 | ❌ | 独有 |
| 数据仪表盘 | ✅ 可视化分析 | ❌ 仅商业SaaS | 独有 |
| AI情感分析 | ✅ LLM驱动 | ❌ | 独有 |
| AI关键词提取 | ✅ TF-IDF+LLM | ❌ | 独有 |
| AI智能摘要 | ✅ 自动生成 | ❌ | 独有 |
| 语义搜索 | ✅ 向量检索 | ❌ | 独有 |
| 相似文章推荐 | ✅ k-NN | ❌ | 独有 |
| 质量评分 | ✅ 多维度自动评分 | ❌ | 独有 |
| AI 摘要 | ✅ LLM 智能摘要 | ❌ | 独有 |
| Webhook 通知 | ✅ 6 大平台推送 | ❌ | 独有 |
| 第三方导出 | ✅ Notion/Airtable/Sheets | ❌ | 独有 |
| 浏览器扩展 | ✅ Chrome/Firefox | ❌ | 独有 |
| Docker 部署 | ✅ 完整容器化 | ❌ 仅 wechat-spider | 领先 |
| 原生 CLI | ✅ 完整命令行接口 | ❌ 仅脚本 | 独有 |
核心差异化:
- 唯一支持 6 级策略路由的方案(fast → adaptive → stable → reliable → zero_dep → jina_ai)
- 唯一支持零依赖模式的方案(纯标准库,无需 pip install)
- 唯一同时支持 jina.ai fallback 的方案(最后的可靠保障)
- 唯一支持 OG 元数据备选的方案
- 唯一支持图片段落关联的方案
- 唯一支持完整 Content Status 状态码的方案
- 唯一集成 Scrapling 自适应策略的方案
- 唯一同时支持 html2text 和 markdownify 的方案
- 唯一支持 data-backsrc 图片懒加载属性的方案
- 唯一支持 op_res 微信 CDN 资源过滤的方案
- 唯一支持搜狗链接解析为真实微信链接的方案
- 唯一支持 40+ STOP_MARKERS 噪音标记过滤的方案 (吸取 camofox 精华)
- 唯一支持正文日期正则提取发布时间的方案 (吸取 camofox 精华)
- 唯一支持图片按原文顺序插入正文的方案 (吸取 camofox 精华)
- 唯一支持表格结构保留的方案 (markdownify 转换 table/thead/tbody/tr/th/td)
- 唯一支持视频提取的方案 (所有 6 个策略均支持,提取视频 URL、封面、时长、标题)
- 唯一支持互动数据提取的方案 (阅读量、点赞数、在看数)
- 唯一支持现代化 Web GUI 的方案 (React + TypeScript + Tailwind + FastAPI)
- 唯一支持浏览器扩展的方案 (Chrome/Firefox插件,一键抓取,快捷键支持)
- 唯一支持舆情监控的方案 (敏感词检测、品牌追踪、情感分析、危机预警)
- 唯一支持数据可视化仪表盘的方案 (ECharts图表、阅读趋势、互动热力图)
- 唯一支持竞品分析的方案 (多账号对比、竞争力评分、内容策略分析)
- 唯一支持AI智能洞察的方案 (异常检测、趋势分析、自动运营建议)
- 唯一支持热点话题追踪的方案 (自动发现、传播速度监控、生命周期分析)
- 唯一支持AI标题生成的方案 (8种爆款公式、CTR预测、A/B测试)
- 唯一支持智能摘要生成的方案 (5种风格、自动关键信息提取)
- 唯一支持内容改写润色的方案 (5种风格转换、语气调整)
- 唯一支持素材库管理的方案 (文案/图片收藏、标签分类、快速检索)
- 唯一支持定时任务调度的方案 (Cron表达式、自动整理、定时导出)
- 唯一支持任务执行日志的方案 (执行历史、成功率统计、错误追踪)
- 唯一支持通知提醒的方案 (邮件/Webhook/模板管理)
- 唯一支持 SQLite 全文搜索的方案 (FTS5 搜索引擎)
- 唯一支持数据持久化的方案 (增量更新 + 变更检测)
- 唯一支持可视化任务队列的方案 (暂停/恢复/停止控制)
- 唯一支持文章自动分类的方案 (10 类别智能分类)
- 唯一支持评论整理的方案 (热评、回复、点赞数)
- 唯一支持多格式导出的方案 (Excel/PDF/Word/Markdown/JSON/CSV,含样式模板)
- 唯一支持高级筛选的方案 (多条件组合AND/OR逻辑,筛选模板保存)
- 唯一支持批量操作引擎的方案 (批量导出/编辑/同步/删除,任务队列)
- 唯一支持 RSS Feed 生成的方案 (全文/摘要/多 feed)
- 唯一支持 MCP 服务器的方案 (Claude Desktop 原生集成)
- 唯一支持公众号监控订阅的方案 (自动检测新文章)
- 唯一支持内容质量评分的方案 (多维度自动评分)
- 唯一支持 AI 智能摘要的方案 (LLM 驱动,多提供商支持)
- 唯一支持 Webhook 通知系统的方案 (6 大平台自动推送)
- 唯一支持第三方平台导出的方案 (Notion/Airtable/Google Sheets)
- 唯一支持浏览器扩展的方案 (Chrome/Firefox 一键抓取)
- 唯一提供原生 CLI 的方案 (Typer + Rich,支持单文件分发)
- 唯一支持 Docker 完整容器化的方案 (Web + CLI,docker-compose 一键启动)
- 唯一支持智能监控去重的方案 (标题相似度 + 内容哈希双重检测)
- 唯一支持文章优先级算法的方案 (WCI 病毒指数 + 关键词匹配评分)
- 唯一支持团队协作的方案 (多用户、RBAC权限、共享工作区、文章标注)
- 唯一支持第三方集成的方案 (Notion/语雀/Airtable 自动同步)
- 唯一支持智能批处理的方案 (高优先级实时推送,普通优先级聚合摘要)
- 唯一支持告警疲劳保护的方案 (静默时段、速率限制、冷却期保护)
- 唯一支持数据可视化仪表盘的方案 (核心指标/趋势图表/发布分布/分类占比/质量分布)
- 唯一支持AI情感分析的方案 (正面/负面/中性 + 置信度评分)
- 唯一支持AI关键词提取的方案 (TF-IDF + LLM混合算法)
- 唯一支持AI智能摘要的方案 (自动生成文章摘要和关键要点)
- 唯一支持多LLM提供商的方案 (Ollama本地 + OpenAI/DeepSeek API)
- 唯一支持语义搜索的方案 (向量相似度检索,理解搜索意图)
- 唯一支持相似文章推荐的方案 (基于内容向量的k-NN推荐)
- 唯一支持向量存储的方案 (sqlite-vss / faiss,支持Embedding检索)
- 唯一支持自动化工作流引擎的方案 (IFTTT风格触发-动作系统,支持Webhook/邮件/企业微信/飞书)
v2.2.0 - Smart Monitor v2.0
- ✨ 新增: 智能监控与告警系统 v2.0
- 智能去重:标题相似度 + 内容哈希双重检测 - 优先级算法:WCI 病毒指数 + 关键词匹配 - 智能批处理:高优先级实时推送,普通优先级聚合摘要 - 告警疲劳保护:静默时段、速率限制、冷却期
- ✨ 新增:
w monitor完整 CLI 支持(add/list/remove/check/watch/stats) - ✨ 新增:
w smart-monitor高级监控命令
v2.3.0 - Dashboard v1.0
- ✨ 新增: 数据可视化仪表盘 Dashboard v1.0
- 核心指标卡片:文章数/阅读量/点赞数/平均WCI - 趋势图表:阅读量/点赞量/WCI 7/30/90天趋势 - 发布时间分布:24小时热力图分析 - 内容分类占比:饼图展示 - 质量评分分布:四档分级统计 - 热门文章排行:Top 10 阅读量/点赞/WCI - 账号统计对比:多账号数据一览
- ✨ 新增:
w dashboardCLI 命令启动仪表盘 - ✨ 新增:
analytics.py数据分析引擎
v2.4.0 - AI智能分析引擎 v1.0
- ✨ 新增: AI智能分析引擎 (
ai_analyzer.py)
- 情感分析:正面/负面/中性 + 置信度评分 - 关键词提取:TF-IDF + LLM混合算法 - 智能摘要:自动生成文章摘要和关键要点 - 实体识别:人名/公司/产品/地点提取 - 多模型支持:Ollama本地模型 + OpenAI/DeepSeek API
- ✨ 新增:
w analyzeCLI命令
- w analyze article --url <URL>: 单篇文章AI分析 - w analyze batch: 批量分析 - w analyze stats: 情感分布统计 - w analyze keywords: 关键词云
- ✨ 新增: AI分析结果持久化存储 (SQLite)
v2.5.0 - 语义搜索与向量检索 v1.0
- ✨ 新增: 语义搜索引擎 (
semantic_search.py)
- 向量数据库存储 (支持 sqlite-vss / faiss 备选) - 文本向量化 (Ollama本地 / OpenAI API) - 语义相似度搜索 (余弦相似度) - 相似文章推荐 (k-NN检索) - 内容聚类分析 (自动主题发现)
- ✨ 新增: 向量存储引擎 (
vector_store.py)
- Embedding提供商统一管理 - 多模型支持 (Ollama nomic-embed-text / OpenAI ada-002) - 智能降级: LLM → API → 规则embedding
- ✨ 新增:
w search --semantic语义搜索 - ✨ 新增:
w semantic命令组
- w semantic index: 索引文章到向量库 - w semantic search -q '查询': 语义搜索 - w semantic similar --id <ID>: 相似文章推荐 - w semantic cluster: 内容聚类分析 - w semantic stats: 向量库统计
- ⚡ 新增:
w workflow命令组 (IFTTT风格自动化工作流)
- w workflow create --name <名称> --trigger <类型>: 创建工作流 - w workflow list: 列出所有工作流 - w workflow trigger --id <ID>: 手动触发工作流 - w workflow logs: 查看执行日志 - w workflow server --port 8080: 启动API服务器 - w workflow stats: 工作流统计
- 👥 新增:
w team命令组 (团队协作系统)
- w team create --name <名称> --user <ID>: 创建团队 - w team list --user <ID>: 列出我的团队 - w team join --code <邀请码>: 加入团队 - w team members --id <团队ID>: 查看成员 - w team collections --id <团队ID>: 查看共享收藏夹 - w team stats --id <团队ID>: 团队统计
- 🔄 新增:
w sync命令组 (第三方集成)
- w sync add --name <名称> --provider notion --token <TOKEN>: 添加集成 - w sync list: 列出集成配置 - w sync test --name <名称>: 测试同步
- 📊 新增:
w export命令组 (多格式导出)
- w export excel --ids <JSON> --output <路径>: Excel导出 - w export pdf --ids <JSON>: PDF导出 - w export word/markdown/json/csv: 其他格式
- 🔍 新增:
w filter命令组 (高级筛选)
- w filter create --name <名称> --field <字段> --op <操作符>: 创建筛选模板 - w filter list: 列出筛选模板 - w filter apply --template <ID>: 应用筛选 - w filter delete --template <ID>: 删除模板
- ⚙️ 新增:
w batch命令组 (批量操作)
- w batch export --ids <JSON> --format <格式>: 批量导出 - w batch edit --ids <JSON> --tags <JSON>: 批量编辑 - w batch list: 查看批量任务 - w batch status --task <ID>: 任务状态
- 🔌 浏览器扩展: Chrome/Firefox 插件
- 一键抓取当前微信文章 - 支持 Markdown/HTML/JSON 格式 - 快捷键: Ctrl+Shift+S 快速抓取 - 右键菜单快捷操作 - 与 CLI 服务自动同步 - w extension install --browser chrome: 显示安装指南 - w extension pack --browser firefox: 打包扩展
*本文档由 wechat-article-scraper v3.39.0 生成*
v3.40.0 - 微信生态深度集成 (Round 92)
- ✨ 新增: 微信小程序("一键转发即收藏"体验)
- 支持微信文章转发到小程序自动保存 - 实时保存进度显示 - 已保存文章列表浏览 - 微信登录自动创建账户
- ✨ 新增: 微信公众号消息集成(备用路径)
- 发送文章链接到公众号自动保存 - 自动回复保存状态和阅读链接 - 重复文章检测提示 - 账号绑定系统
- ✨ 新增: WeChat OpenID 用户绑定系统
- 小程序/公众号用户自动映射到内部账户 - UnionID 跨应用识别 - 异步抓取任务队列 - 消息日志记录与调试
- ✨ 新增: 双轨保存策略
- MiniApp (推荐): 转发 → 小程序 → 自动保存 → 阅读 - Official Account (备用): 复制链接 → 发送到公众号 → 自动保存
- ⚡ 竞品对标: 实现 Cubox/Matter 级别的"微信转发即收藏"体验
- 从 3 步操作(复制→粘贴→保存)简化到 1 步(转发) - 保存转化率目标: >80% - 平均保存时间目标: <5秒
核心差异化更新(v3.40.0): 65. 唯一支持微信小程序的方案(一键转发保存,媲美 Cubox) 66. 唯一支持微信公众号消息的方案(备用路径,无需审核) 67. 唯一支持微信生态双轨集成的方案(小程序+公众号互补) 68. 唯一支持 OpenID 自动用户映射的方案(无缝账户绑定) 69. 唯一支持异步保存任务队列的方案(高并发微信消息处理)
*本文档由 wechat-article-scraper v3.40.0 生成*
v3.41.0 - CI/CD 流水线 (Round 94)
- ✨ 新增: GitHub Actions CI/CD 工作流
- CI: Lint + Type Check + Unit/Integration/E2E Tests - CD-Staging: Vercel Preview + DB Migration - CD-Production: 生产部署 + Sentry 集成 - Scheduled Benchmark: 每周自动基准测试
- ✨ 新增: 质量门禁系统
- 测试覆盖率阈值 (30% → 60%) - 抓取成功率阈值 (≥ 95%) - 批注准确率阈值 (≥ 98%)
- ✨ 新增: 安全扫描
- npm audit 自动检查 - Trivy 漏洞扫描
- ⚡ 对标: CI/CD 现已对齐 Omnivore/Wallabag 最佳实践
- 🔄 优化: package.json 测试脚本规范化
核心差异化更新(v3.41.0): 70. 唯一支持全自动化基准测试的方案(每周自动运行,阈值检查) 71. 唯一支持 Stagehand AI E2E 的方案(AI 驱动的端到端测试) 72. 唯一支持质量门禁的方案(合并前强制检查成功率/准确率)
*本文档由 wechat-article-scraper v3.41.0 生成*