SuperAPI AI Directory

wechat-article-scraper

Writing & research

View repository

Updated 10-16 08:35

About this skill

WeChat Official Account Article Scraper v3.39.0

World-class WeChat article scraping solution — Integrates the best of 12 competing products, with intelligent strategy routing, OG metadata fallback, image-paragraph association, lazy-loading handling, image download, search discovery, multi-format export,modern Web management interface, and other complete features.

Quick Start

# 抓取单篇文章(自动选择最佳策略)
/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
Save articles to the SQLite database (automatically detects duplicates and changes)

python3 scripts/storage.py save article.json

View database statistics (author distribution, category distribution, WCI distribution)

python3 scripts/storage.py stats

Full-text search articles

python3 scripts/storage.py search "artificial intelligence"

List all articles by a certain author

python3 scripts/storage.py list --author "差评" --limit 50

Create a batch task queue

python3 scripts/queue.py create my-batch-job --workers 3 --delay 2

Add URL to the queue

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"

Start the queue (supports pause/resume/stop)

python3 scripts/queue.py start queue_20260112_120000_my-batch-job

View queue status and progress

python3 scripts/queue.py status queue_20260112_120000_my-batch-job

Search WeChat official account articles

python3 scripts/search.py "artificial intelligence investment" -n 10

Start the Web management interface (modern React + TypeScript dashboard)

cd web/backend && python main.py & cd web/frontend && npm run dev

Visit http://localhost:3000 to view the dashboard Search and resolve real WeChat links (avoid expired Sogou links)

python3 scripts/search.py "artificial intelligence investment" -n 10 --resolve-urls

===== Official Account History Batch Scraping (new in v3.22.0) ===== Step 1: WeChat QR code login (save login state)

w auth login personal account

Step 2: Scrape the full article history of an official account Need to extract the biz and token parameters from the official account homepage URL

w history crawl official account name
--biz=MzI5NjUyMDk0MA==
--token=xxx
--max 100 # scrape at most 100 articles (0=unlimited)

View scraping progress

w history list w history progress official account name

Resume from a breakpoint (automatically supported)

w history crawl official account name --biz=xxx --token=xxx

Scrape directly using a script

python3 scripts/history_crawler.py
--biz=MzI5NjUyMDk0MA==
--token=xxx
--account-name="official 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 模式(推荐,最可靠)

**大多数情况下无需登录**,如果抓取失败:
1. 在 Chrome 浏览器中访问 https://mp.weixin.qq.com
2. 扫码完成微信登录
3. 保持浏览器窗口打开

### 方案 B:Playwright 模式

```bash
pip install playwright
playwright install chromium

Option C: Adaptive mode (recommended new choice)

pip install "scrapling[ai]"

Scrapling is designed for complex anti-scraping pages; it is lighter than Playwright and more stable than requests.

Option D: Fast mode

pip install requests beautifulsoup4 lxml

Usage

CLI usage

# 基础用法(默认输出到当前目录)
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

Strategy Selection Guide

Strategy Use case Prerequisites Reliability Speed
fast Quickly scrape public articles requests + BeautifulSoup ⭐⭐ ⚡⚡⚡
adaptive Needs adaptive anti-scraping (recommended) Install Scrapling ⭐⭐⭐⭐ ⚡⚡
stable Needs full rendering Install Playwright ⭐⭐⭐⭐⭐ ⚡
reliable Needs the highest reliability Chrome DevTools ⭐⭐⭐⭐⭐ ⚡
zero_dep Pure standard library, no dependencies required Python standard library ⭐⭐ ⚡⚡⚡
jina_ai Uses the jina.ai service No installation required, relies on the network ⭐⭐⭐ ⚡⚡

Default strategy: The system automatically tries in the order fast → adaptive → stable → reliable → zero_dep , prioritizing the strategy that succeeds fastest.

When to specify a strategy?

  • Scraping important articles → specify -s adaptive or -s reliable
  • Fast batch scraping → specify -s fast
  • Frequent CAPTCHAs → specify -s adaptive or -s reliable

Content Status Codes

Status Code Meaning Recovery Suggestion
ok Scraping succeeded -
blocked Anti-scraping verification triggered Use the reliable strategy, or wait 5 minutes and retry
no_mp_url Invalid WeChat article link Check the URL format
fetch_error Network request failed Check the network connection
parse_empty Parsing result is empty The article may have been deleted or requires special handling
need_mcp MCP mode required Use Chrome DevTools MCP to scrape

Using in Claude Code

User: 抓取这篇微信文章 https://mp.weixin.qq.com/s/xxxxx
Claude: 使用 Chrome DevTools MCP 抓取:
        1. 导航到文章页面(自动添加 ?scene=1)
        2. 滚动触发懒加载
        3. 提取内容
        4. 保存到 articles/文章标题.md

Actual invocation code:

// 步骤 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
});

Search discovery

# 搜索公众号文章
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

Batch download images from existing Markdown

python3 scripts/images.py "文章.md" --output ./article-images/

Web management interface (React + TypeScript)

A modern web dashboard, comparable to the Vue.js interface of the competitor wcplusPro.

Start the Web interface

# 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:3000

Web interface features

Feature Description
Dashboard Article statistics, WCI distribution, category distribution, latest articles
Article management List browsing, detail viewing, filtering and search
Full-text search SQLite FTS5 full-text search, real-time results
Task queue Create queues, batch scraping, progress monitoring, pause/resume/stop

Tech stack

  • Frontend: React 18 + TypeScript + Vite + Tailwind CSS + TanStack Query + Recharts
  • Backend: FastAPI + SQLite + WebSocket

Advanced features

Comment collection

Collect comments from WeChat official account articles (the article must have comments enabled):

# 采集单篇文章的评论
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

Competitor comparison: Tools such as wcplusPro rarely support comment collection; this is our unique feature.

RSS Feed generation

Generate an RSS feed for scraped articles, supporting subscription in RSS readers:

# 生成主 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 100

Web 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

Competitor comparison: Only very few competitors support RSS export, and the functionality is rudimentary.

MCP server

Run as an MCP (Model Context Protocol) server, for clients such as Claude Desktop to call:

# 启动 MCP 服务器
python3 scripts/mcp_server.py

# 配置 Claude Desktop config.json:
{
  "mcpServers": {
    "wechat-scraper": {
      "command": "python3",
      "args": ["/path/to/scripts/mcp_server.py"]
    }
  }
}

Provided tools:

  • read_wechat_article: Read WeChat article content
  • search_wechat_articles: Search WeChat official account articles
  • search_wechat_accounts: Search official account accounts

Competitor comparison: This is aunique MCP integration, and no competitor supports it.

Official account monitoring subscription

Subscribe to official accounts and automatically monitor new article publications:

# 添加订阅
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 "差评"

Automation (add to crontab):

# 每 30 分钟检查一次
*/30 * * * * cd /path/to/wechat-article-scraper && python3 scripts/monitor.py check --notify

Competitor comparison: Tools such as wcplusPro do not provide monitoring subscription functionality.

Content quality scoring

Automatically evaluate the quality of scraping results:

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}")

Scoring dimensions:

  • Title score (0-25): length, completeness
  • Content score (0-50): length, noise ratio, duplicate content
  • Metadata score (0-15): author, time, link
  • Image score (0-10): quantity, validity

Competitor comparison: No competitor provides automatic quality scoring.

AI smart summary

Use LLM (Claude/OpenAI/DeepSeek/Tongyi Qianwen) to automatically generate article summaries:

# 设置 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

Output example:

{
  "title": "文章标题",
  "summary": "这是文章的3-5句话摘要...",
  "key_points": ["要点1", "要点2", "要点3"],
  "tags": ["人工智能", "投资", "科技"],
  "sentiment": "positive",
  "reading_time": 5,
  "model": "deepseek/deepseek-chat"
}

Competitor comparison: No competitor supports AI summary generation。

Webhook notification system

Automatically send notifications to multiple platforms when new articles are detected:

# 添加钉钉通知
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 "测试内容"

Integration with monitoring (automatic notification):

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)

Supported channels:

  • DingTalk
  • Lark
  • WeCom
  • Slack
  • Discord
  • Telegram

Competitor comparison: No competitor supports multi-platform webhook notifications。

Third-party platform export

Export articles to 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 field mapping:

Field Type Description
Title Title Article title
Author Rich Text Official account name
Category Select 10 preset categories
Publish time Date Original publish time
URL URL Original link
WCI index Number Spread index
Read count Number Number of reads
Like count Number Number of likes
Tags Multi-Select AI-generated tags
Summary Rich Text AI summary
Content Rich Text Body content
Import time Created Time Automatically recorded
Sync status Select Synced/Pending sync/Failed

Competitor comparison: No competitor supports third-party platform export。

Browser extension

Chrome/Firefox browser extension, one-click capture of the current WeChat article:

# 安装扩展
# 1. Chrome: 打开 chrome://extensions/,开启开发者模式,加载 extension/chrome 文件夹
# 2. Firefox: 打开 about:debugging,加载 extension/firefox/manifest.json

How to use:

  1. Click the extension icon: On a WeChat article page, click the extension icon in the toolbar
  2. Shortcut key: Ctrl+Shift+S Quickly capture the current article
  3. Right-click menu: On the article page, right-click → "📰 Capture this WeChat article"

Features:

  • One-click capture of the current page article
  • Supports Markdown/HTML/JSON formats
  • Optional image download
  • Automatically upload to the Web dashboard
  • Article information preview

Extension settings:

  • Save locally: automatically download the article file
  • Upload to server: send to the local Web backend
  • Auto-categorize: use AI to categorize articles

Competitor comparison: No competitor provides a browser extension。

Strategy details

Strategy comparison

Strategy Speed Stability Prerequisites Applicable scenarios
fast ⚡⚡⚡ ⭐⭐ requests + BS4 Quick test
adaptive ⚡⚡ ⭐⭐⭐⭐ Scrapling Daily scraping (recommended)
stable ⚡ ⭐⭐⭐⭐⭐ Playwright Full rendering
reliable ⚡ ⭐⭐⭐⭐⭐ Chrome DevTools Important articles
zero_dep ⚡⚡⚡ ⭐⭐ Python standard library Dependency-free environment
jina_ai ⚡⚡ ⭐⭐⭐ jina.ai service Good network environment

Strategy routing logic

用户请求

### 命令行工具 (CLI)

原生命令行工具,支持单文件可执行程序分发:

```bash
# 进入 CLI 目录
cd cli

# 方式一:pip 安装
pip install -e .

# 方式二:单文件可执行程序(无需 Python 环境)
./build.sh
# 输出: dist/w (约 21MB,独立可执行)

Usage:

# 抓取单篇文章
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

Command list:

Command Description Example
scrape Scrape a single article w scrape <url>
batch Batch scraping w batch urls.txt
search Sogou search w search <keyword>
monitor Monitoring management w monitor add <biz_id>
config Configuration management w config --show
version Version information w version

Build a single-file executable:

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 环境,下载即用

Competitor comparison: No competitor provides a native CLI tool, competitors only provide Python scripts.

Docker deployment

Full Docker containerization support, start the Web service with one click:

# 方式一: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 run mode:

# 启动 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

Data persistence:

# docker-compose.yml 已配置
volumes:
  - ./data:/data          # 数据目录
  - ./data/articles:/data/articles  # 文章存储
  - ./data/db:/data/db    # SQLite 数据库

Image features:

  • Based on python:3.12-slim, multi-stage build
  • Image size: ~150MB
  • Supports CLI + Web dashboard
  • Data volume persistence
  • Health check
  • Automatic restart

Competitor comparison: wechat-spider supports Docker, we have caught up;commercial software such as wcplusPro has no Docker support, we are ahead.

│
├─ 指定策略?
│  ├─ 是 → 优先使用该策略
│  └─ 否 → 按 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` 参数可以在无登录状态下获取文章内容。

```python
# 自动处理 URL
if '?' not in url:
    url = url + '?scene=1'
elif 'scene=' not in url:
    url = url + '&scene=1'

Key technique 2: OG metadata fallback

When WeChat-specific selectors fail, automatically use Open Graph metadata:

# 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')

Key technique 3: Lazy-loaded image extraction

// 提取真实图片 URL
const realSrc = img.getAttribute('data-src') || img.src;
if (realSrc && !realSrc.includes('data:image/svg+xml')) {
    images.push({ src: realSrc, alt: img.alt });
}

Key technique 4: Image-paragraph association

// 智能识别图片与段落的关系
images.push({
    src: realSrc,
    paragraphIndex: currentParagraphIndex,  // 关联到段落
    isContentImage: width > 200 || height > 200
});

Key technique 5: Decorative image filtering

# 过滤规则
- SVG 占位符: data:image/svg+xml
- 装饰图路径: yZPTcMGWibvsic9Obib
- 尺寸过小: < 50px

Key technique 6: UA rotation

USER_AGENTS = [
    'Chrome 120 (Mac)',
    'Chrome 120 (Windows)',
    'Safari 17 (Mac)',
    'Firefox 121 (Windows)',
    'Chrome 120 (Linux)',
    'iPhone Safari',
    'iPad Safari',
]

File structure

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             # 评测用例

Failed approach log (DO NOT ATTEMPT)

Approach Failure mode Root cause Lessons learned
WebFetch direct scraping Returns an "environment abnormal" verification page WeChat anti-scraping detects non-browser UA Must use a real browser or a high-quality UA
Snapshot method Images are placeholder SVGs Lazy loading not triggered, data-src not converted Must scroll the page to trigger loading
opencli exploration No WeChat CLI available WeChat has not opened a public API Do not waste time looking for a CLI that does not exist
curl/wget Blocked and returned a verification page Missing browser cookies and UA Command-line tools cannot bypass modern anti-scraping
r.jina.ai service Occasional timeouts Third-party services are unstable Use as a fallback, do not rely on it

Limitations and boundaries

Cases that cannot be scraped

  • Article deleted or removed for violations
  • Content that requires paid reading (only the preview can be scraped)
  • For videos, only the URL and cover can be extracted; the video file cannot be downloaded

Image Processing Limitations

  • Image URLs are time-limited (30 days by default); for long-term storage, it is recommended to enable --download-images
  • WeChat CDN images may contain watermarks
  • GIF animations may only save the first frame

Batch Crawling Limitations

  • Sogou Search has rate limits; an interval of 2 seconds or more is recommended
  • A large number of requests from the same IP in a short period may trigger a CAPTCHA
  • It is recommended that a single batch not exceed 50 articles

Output Examples

Markdown format (with 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 功能...

![配图 1](https://mmbiz.qpic.cn/mmbiz_png/xxxxx/640)

---

*本文档由 wechat-article-scraper 于 2026-04-12 生成*

JSON format

{
  "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"
  }
}

Batch Crawling Example

#!/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 篇文章"

Batch Crawling Best Practices:

  1. Use adaptive strategy to ensure success rate
  2. Use a 3-5 second interval to avoid triggering risk controls
  3. It is recommended that a single batch not exceed 50 articles
  4. Use --download-images to avoid image URLs expiring
  5. Prepare a URL list file, one link per line

v3.38.0 (2025-04-12)

  • Cloud Deployment and Real-Time Collaboration System v1.0: Vercel + Supabase + Yjs complete SaaS architecture
    • Cloud Deployment: Next.js + Vercel Serverless, Supabase-managed database, one-click deployment script
    • Real-Time Collaboration: Yjs CRDT automatic conflict resolution, WebSocket multi-user collaborative editing, cursor/selection synchronization
    • Multi-Tenant Architecture: Workspace isolation, RLS-based permission control, team member management
    • Collaboration Features: Real-time collaborative article editing, comment annotation system, team member online status
    • CLI Integration: w cloud commands (init/deploy/logs/status)
    • Competitor Comparison: wcplusPro is local-only; we provide a complete cloud SaaS experience

v3.42.0 (2026-04-12) - Agent SDK Reading Assistant

Core Value: Break through the "annotation → insight → application" loop

  • 🤖 Refactor: Rewrite the reading assistant using Claude Agent SDK (JS/TS)

    • Configuration: Base URL https://api.kimi.com/coding/, Model kimi-for-coding
    • Tool definitions: extract_insights, generate_reading_notes, find_connections, suggest_actions
    • Agent Loop: ReAct pattern with streaming support
    • State management: AgentState with checkpoint/restore
  • 🧠 InsightExtractor component: Core UI that completes the loop

    • One-click extraction of annotation insights (4 types: concept/method/case_study/evidence)
    • Intelligent action item recommendations (classified by priority)
    • Selective export: users can select high-value insights
    • Export support: Notion / Obsidian / Markdown
  • 📚 Distilling the essence of competitor analysis:

    • Sync: Learn from RxDB replication, PowerSync SQLite, Electric CRDT
    • Agent: Adopt the Anthropic SDK Session/Event Loop pattern
    • Discard: LangChain over-abstraction, LlamaIndex complex DSL

Architecture Improvements:

标注 (Reader) → Agent SDK (提取洞察) → InsightExtractor (选择导出) → 工作流 (Notion/Obsidian)

Version History

v3.6.0

  • ✨ Added: Chrome/Firefox browser extension
    • One-click scraping of the current WeChat article
    • Supports Markdown/HTML/JSON formats
    • Shortcut Ctrl+Shift+S for quick scraping
    • Right-click menu integration
    • Seamless integration with the Web dashboard
    • Competitors have no such feature at all

v3.39.0 (2025-04-12)

  • PWA Mobile Experience Optimization v1.0: Installable web app, offline access, push notifications
    • Service Worker: Multi-level caching strategies (static/dynamic/network-first), background sync, periodic background updates
    • Web App Manifest: Add to home screen, multi-size icon adaptation, shortcut action entries
    • Mobile UI: Bottom navigation bar, card layout, touch target optimization, notch screen safe area adaptation
    • Push notifications: Web Push API integration, scrape completion reminders, notification interaction handling
    • Offline support: Offline status detection, cache-first reading, background article sync
    • Competitor comparison: wcplusPro requires downloading and installing a native App, while our PWA is ready to use instantly, auto-updates, and requires no review

v3.41.0 (2025-04-12)

  • Browser Extension + Content Discovery v1.0: Filling the last gap in the workflow, realizing "save as you see"
    • Chrome Extension Manifest V3: Service Worker background processing, content script injection
    • Floating action button: One-click save in the bottom right, dropdown menu, reading progress bar
    • In-page annotations: 5-color highlighting, instant comments, highlight on selection
    • Popup panel: Current page status, recent saves, quick actions
    • Keyboard shortcut support: Ctrl+Shift+S to save, Ctrl+Shift+A to annotate
    • Context menu: Save page/link/selected content
    • Competitor comparison: Readwise's core advantage is its browser extension, and now we've aligned with that

v3.40.0 (2025-04-12)

  • Reading Annotation Workflow v1.0: Redesign from feature stacking to a value closed loop
    • Core value shift: From "scraping articles" to "making WeChat content research efficiency 10x better"
    • World-class framework benchmarking: Hypothesis (annotation storage) + Readwise (reading workflow) + Mercury (reading experience)
    • Paragraph-level annotation system: 5-color highlighting, annotation notes, XPath persistent storage, IndexedDB offline
    • Immersive reader: 3 themes (day/eye-care/night), 4 font size levels, reading progress tracking
    • Reading Agent: Claude Agent SDK + Kimi API, automatically extracts insights, generates notes, and provides daily reviews
    • Export integration: Readwise-compatible format, multi-format export to Markdown/Obsidian/Notion
    • Complete user journey: Discover→Scrape→Read→Annotate→Extract→Produce, truly penetrating the closed loop

v3.39.0 (2025-04-12)

  • PWA Mobile Experience Optimization v1.0: Installable web app, offline access, push notifications
    • Service Worker: Multi-level caching strategies (static/dynamic/network-first), background sync, periodic background updates
    • Web App Manifest: Add to home screen, multi-size icon adaptation, shortcut action entries
    • Mobile UI: Bottom navigation bar, card layout, touch target optimization, notch screen safe area adaptation
    • Push notifications: Web Push API integration, scrape completion reminders, notification interaction handling
    • Offline support: Offline status detection, cache-first reading, background article sync
    • Competitor comparison: wcplusPro requires downloading and installing a native App, while our PWA is ready to use instantly, auto-updates, and requires no review

v3.38.0 (2025-04-12)

  • Cloud Deployment and Real-Time Collaboration System v1.0: Complete SaaS architecture with Vercel + Supabase + Yjs
    • Cloud deployment: Next.js + Vercel Serverless, Supabase managed database, one-click deployment script
    • Real-time collaboration: Yjs CRDT automatic conflict resolution, WebSocket multi-user collaborative editing, cursor/selection synchronization
    • Multi-tenant architecture: Workspace isolation, RLS-based access control, team member management
    • Collaboration features: Real-time collaborative article editing, comment and annotation system, team member online status
    • CLI integration: w cloud commands (init/deploy/logs/status)
    • Competitor comparison: wcplusPro is local-only, we provide a complete cloud SaaS experience

v3.35.0 (2025-04-12)

  • Intelligent Agent Search System v1.0: Semantic search/knowledge Q&A/intelligent recommendations
    • Agent architecture: Built on Claude Agent SDK (JS/TS) + Kimi API
    • Semantic search Agent: LLM understands query intent, intelligent tool invocation, result explanation
    • Q&A Agent (RAG): Retrieval-augmented generation, citation tracing, confidence evaluation
    • Recommendation Agent: Intelligent recommendations based on content similarity, author, and reading history
    • CLI integration: w agent commands (search/ask/recommend)
    • Competitors have no such feature at all

v3.34.0 (2025-04-12)

  • AI Intelligent Writing Engine v2.0: True LLM-driven/multi-model integration/cost tracking
    • Multi-model LLM integration: OpenAI GPT-4, Anthropic Claude, DeepSeek, Baidu ERNIE, Alibaba Tongyi
    • Prompt optimization engine: 5 system prompt templates, Few-shot learning, Chain-of-Thought
    • Batch content generation: Asynchronous API calls, concurrency control, batch title/summary generation
    • Cost tracking system: Token cost calculation by provider/model, usage statistics, budget control
    • Quality scoring algorithm: Based on content structure, semantic completeness, and style consistency (0-100 points)
    • CLI integration: w ai-write unified command entry point
    • Competitors' core paid feature (wcplusPro/Newrank AI Writing)

v3.33.0 (2025-04-12)

  • Scheduled Tasks and Automation System v1.0: Cron scheduling/automatic collection/task notifications
    • Task scheduler: Cron expression parsing, task scheduling loop, support for multiple task types
    • Execution logs: Execution records, success rate statistics, error tracking, historical queries
    • Notification system: Email/SMTP, Webhook callbacks, 5 notification templates, notification history
    • Built-in tasks: scrape/export/backup/cleanup/custom 5 types
    • CLI integration: w scheduler commands (create/list/run/toggle/delete/history/stats/daemon)
    • Competitors' core paid feature (wcplusPro scheduled collection)

v3.32.0 (2025-04-12)

  • Data Visualization and Intelligent Analysis System v1.0: Interactive charts and AI insights
    • Data dashboard: Reading trends, interaction heatmaps, article rankings
    • Competitor analysis: Multi-account comparison, competitiveness scoring, content strategy analysis
    • AI intelligent insights: Anomaly detection, trend analysis, operational recommendations
    • Hot topic tracking: Automatic discovery of hot topics, spread speed monitoring
    • CLI integration: w analytics unified command entry point
    • Competitors' core paid feature

v3.30.0 (2025-04-12)

  • Public Opinion Monitoring System v1.0: Professional-grade public opinion monitoring and crisis warning
    • Sensitive word detection: Real-time scanning of sensitive content (politics/pornography/violence/gambling/drugs/fraud)
    • Brand mention tracking: Track mentions of brands/keywords in articles
    • Sentiment trend analysis: Positive/neutral/negative sentiment monitoring
    • Crisis warning system: abnormal propagation speed detection, sensitive content warnings
    • CLI integration: w sentiment command management and monitoring
    • Competitors completely lack this feature

v3.29.0 (2025-04-12)

  • Browser extension v2.0: Chrome/Firefox plugin improvements
    • Content Script: page content extraction, one-click capture
    • Background Script: context menu, shortcuts, automatic download
    • Popup UI: format selection, progress display, result operations
    • Support export in Markdown/HTML/JSON formats
    • Shortcut: Ctrl+Shift+S for quick capture

v3.28.0 (2025-04-12)

  • Multi-format export engine v1.0: Excel/PDF/Word/Markdown/JSON/CSV
    • Excel: style beautification, multiple sheets, statistical charts
    • PDF: Chinese support, pagination optimization
    • Word: format preservation, table of contents generation
    • Export templates: custom fields, styles
  • Advanced filtering system v1.0: multi-condition combined filtering
    • Filter conditions: time/official account/keyword/read count/tag
    • Support AND/OR logical combinations
    • Filter template save/load
  • Batch operation engine v1.0: batch export/edit/sync/delete
    • Task queue and progress tracking
    • Batch sync to third-party platforms

v3.27.0 (2025-04-12)

  • Team collaboration system v1.0: multi-user, shared workspace, permission management
    • RBAC permission control: admin/member/viewer three-level roles
    • Team sharing: official account monitoring list, article favorites
    • Article annotation: tag, comment, highlight system
    • Invitation code mechanism: join a team via invitation code
  • Third-party integration v1.0: Notion/Yuque/Airtable sync
    • Notion database automatic sync
    • Yuque knowledge base archiving
    • Airtable table sync

v3.26.0 (2025-04-12)

  • Automated workflow engine v1.0: IFTTT-style trigger-action system
    • Trigger system: new article/heat threshold/keyword match/scheduled trigger
    • Action executor: Webhook/email/WeCom/Feishu/local script
    • RESTful API + WebSocket real-time notifications
    • Workflow execution logs and statistics

v3.5.0

  • ✨ New: third-party platform exporter
    • Notion database integration (automatic database creation, field mapping)
    • Airtable table sync
    • Google Sheets export
    • Support incremental export, filtering by author/category
    • Competitors completely lack this feature

v3.4.0

  • ✨ New: AI intelligent summary generator

    • Use LLM (Claude/OpenAI/DeepSeek/Qwen) to generate article summaries
    • Extract key points, tags, sentiment analysis
    • Support batch processing
    • Integrate with database to save summaries
    • Competitors completely lack this feature
  • ✨ New: Webhook notification system

    • Support 6 major platforms: DingTalk, Feishu, WeCom, Slack, Discord, Telegram
    • Automatically push notifications when new articles are detected
    • Supports rich formats such as Markdown cards and buttons
    • Seamless integration with the monitor.py monitoring module
    • Competitors completely lack this feature

v3.3.0

  • ✨ New: RSS Feed generator
    • Generates RSS 2.0 feeds for scraped articles
    • Supports generating independent feeds filtered by author and category
    • Supports full-text output or summary output
    • Web API integration:GET /api/rss/wechat-articles
    • Competitors almost do not support RSS export

v3.2.0

  • ✨ New: Modern Web management interface
    • React 18 + TypeScript + Tailwind CSS frontend
    • FastAPI + SQLite + WebSocket backend
    • Dashboard: article statistics, WCI distribution, category distribution charts
    • Article management: list browsing, detail viewing, full-text search
    • Task queue: visual queue management, real-time progress monitoring, pause/resume/stop control
    • Draws on the essence of the competitor wcplusPro Vue.js interface, with a leading tech stack

v3.1.0

  • ✨ New: Automatic article classification
    • 10-category classifier (Technology, Finance, Automotive, Healthcare, Education, Entertainment, Lifestyle, Workplace, Current Affairs, Culture)
    • Classification algorithm based on title, author, and content keywords
    • WCI communication index calculation (WeChat Communication Index)

v3.0.2

  • ✨ Improved: Batch scraping mode supports proxy configuration
    • batch_scrape() The function supports the proxy parameter
    • Batch CLI mode supports --proxy parameter

v3.0.1

  • ✨ New: Fast strategy supports HTTP proxy configuration
    • StrategyRouter supports the proxy parameter
    • CLI adds --proxy parameter
    • Adapts to environments that need to access the network through a proxy

v3.0.0

  • ✨ New: Interaction data extraction
    • Extraction of read count, like count, and Wow count
    • Markdown export displays interaction data
    • Supports Chrome DevTools + Playwright strategy (requires page rendering)

v2.9.3

  • ✨ Improved: HTML export supports video embedding
    • Uses <video> tags to embed a video player
    • Supports poster cover image preview
    • Video list displayed in an independent section

v2.9.2

  • ✨ Improved: All 6 strategies uniformly support video extraction
    • Fast/Adaptive/Stable/Reliable/ZeroDep/JinaAI all support it
    • Unified video data format: src, poster, duration, title
    • Video data and image data are returned side by side

v2.9.1

  • ✨ New: Video extraction feature
    • Automatically identifies <video> tags and mpvideosrc tags
    • Extracts video URL, cover image, duration, and title
    • Videos are inserted into Markdown content in the original order
    • Exports an independent video list section

v2.9.0

  • ✨ New: Draws on the essence of wechat-article-camofox
    • Detailed STOP_MARKERS noise markers (40+ rules)
    • SKIP_SUBSTRINGS skip substring list
    • Date regex DATE_RE Extract publish time from body text
    • Insert images into the body text in original order (generate Markdown)
    • Stronger noise element filtering (.js_uneditable, .rich_media_tool , etc.)
    • 跳转二维码 and 划线引导图 alt filtering
  • ✨ Improved: all strategies (fast/adaptive) uniformly apply camofox essence
  • ✨ Improved: enhanced extract.js, supports recursive DOM traversal to preserve original order

v2.8.0

  • ✨ Added: absorbed jisu-wechat-article essence
    • Sogou link parsing:resolve_real_url() function supports parsing Sogou redirect links into real WeChat links
    • Extract real link from URL parameters (avoid extra requests)
    • antispider risk-control link detection and filtering
    • Search module added -r/--resolve-urls parameter, supports batch parsing of real links from search results

v3.21.0

  • ✨ Added: native CLI tool (Typer + Rich)
  • ✨ Added: commands: scrape, batch, search, monitor, config
  • ✨ Added: PyInstaller single-file executable build
  • ✨ Added: full Docker support (multi-stage build, ~150MB)
  • ✨ Added: Shell completion support (bash/zsh/fish)

v3.6.0

  • ✨ Added: browser extension (Chrome/Firefox), supports one-click scraping
  • ✨ Added: right-click menu integration, keyboard shortcut support (Ctrl+Shift+S)
  • ✨ Added: floating scrape button, quick in-page operation
  • 🔧 Fixed: optimized content script injection logic

v2.7.0

  • ✨ Improved: absorbed wechat-article-full-reader essence
    • Image download supports extracting the correct extension (png/gif/webp) from wx_fmt URL parameters
  • ✨ Improved: absorbed wechat-article-browseruse essence
    • Text cleaning: handle \xa0 non-breaking space characters
    • Support data-backsrc image lazy-loading attributes
    • Filter res.wx.qq.com/op_res/ WeChat CDN resources
    • More complete noise element filtering (script/style/svg/iframe/form/button)
  • ✨ Perfected: all strategies (fast/adaptive/stable/reliable) uniformly apply image filtering rules

v2.5.0

  • ✨ Added: Jina AI strategy, using the r.jina.ai service as the final reliable fallback
  • ✨ Upgraded: 6-level strategy routing (fast → adaptive → stable → reliable → zero_dep → jina_ai)
  • ✨ Improved: absorbed wechat-article-1.0.0 essence, added third-party service fallback

v2.4.0

  • ✨ Added: Zero-Dependency strategy, pure standard library mode, no external dependencies required
  • ✨ Upgraded: 5-level strategy routing (fast → adaptive → stable → reliable → zero_dep)
  • ✨ Added: page screenshot feature (supported by Playwright strategy)
  • ✨ Added: html2text and markdownify converter options
  • ✨ Added: Sogou search timestamp parsing (JavaScript timeConvert)
  • ✨ Added: miku-ai search engine alternative

v2.1.0

  • ✨ Added: Adaptive strategy (Scrapling), lightweight and stable
  • ✨ Added: OG metadata alternative extraction, improving success rate
  • ✨ Added: Image-paragraph association, intelligently identifying image-text relationships
  • ✨ Added: Content Status status code system
  • ✨ Added: UA rotation and intelligent retry mechanism
  • ✨ Added: Batch scraping mode
  • 🔧 Fixed: ?scene=1 can bypass login (no login state required)

v2.0.0

  • ✨ Major Discovery: ?scene=1 parameter can bypass WeChat login (verified)
  • ✨ Intelligent strategy router, automatically selecting the best scraping strategy
  • ✨ Image download module, supporting parallel downloads and local storage
  • ✨ Sogou search integration, discovering articles via keywords
  • ✨ Multi-format export (Excel/Markdown/JSON/HTML/PDF, multi-sheet workbook)
  • ✨ Intelligent filtering of decorative images

v1.0.0

  • ✅ Chrome DevTools MCP scraping
  • ✅ Lazy-loaded image handling
  • ✅ Basic Markdown export

Competitor Comparison Summary

Feature This Solution Best Competitor Gap
Lazy-load handling ✅ ✅ On par
Strategy routing ✅ 6 levels ❌ At most 2 levels Leading
OG metadata alternative ✅ ❌ Leading
Image-paragraph association ✅ ❌ Leading
Content Status ✅ ❌ Leading
UA rotation ✅ ❌ Leading
Adaptive strategy ✅ ❌ Leading
Zero-dependency mode ✅ Only 1 competitor supports Leading
Jina AI fallback ✅ Only 1 competitor supports Leading
data-backsrc support ✅ Only 1 competitor supports Leading
op_res filtering ✅ Only 1 competitor supports Leading
STOP_MARKERS filtering ✅ Only 1 supports Leading
Date regex extraction ✅ Only 1 supports Leading
Page screenshot ✅ Only 2 competitors support Leading
Image download ✅ Partial Leading
Table structure preservation ✅ Unclear Leading
Search discovery ✅ A few On par
Multi-format export ✅ A few On par
Anti-scraping bypass ✅ A few On par
Web GUI ✅ React+TS+Tailwind ✅ Vue.js (wcplusPro) Technically leading
SQLite Persistence ✅ ❌ Leading
Full-text Search ✅ FTS5 ❌ Leading
Task Queue ✅ Pause/Resume/Stop ❌ Leading
Auto Categorization ✅ 10 categories ❌ Leading
Comment Collection ✅ Hot comments/Replies/Likes ❌ Leading
RSS Generation ✅ Full text/Summary/Multiple feeds ❌ Leading
MCP Server ✅ Claude Desktop integration ❌ Unique
Monitor Subscriptions ✅ Automatically detect new articles ❌ Leading
Smart Deduplication ✅ Similarity + Hash ❌ Unique
Priority Algorithm ✅ WCI + Keywords ❌ Unique
Smart Batching ✅ Real-time + Aggregation ❌ Unique
Alert Fatigue Protection ✅ Silence + Rate limiting ❌ Unique
Data Dashboard ✅ Visual analytics ❌ Commercial SaaS only Unique
AI Sentiment Analysis ✅ LLM-driven ❌ Unique
AI Keyword Extraction ✅ TF-IDF+LLM ❌ Unique
AI Smart Summary ✅ Automatically generated ❌ Unique
Semantic Search ✅ Vector retrieval ❌ Unique
Similar Article Recommendations ✅ k-NN ❌ Unique
Quality Scoring ✅ Multi-dimensional automatic scoring ❌ Unique
AI Summary ✅ LLM smart summary ❌ Unique
Webhook Notifications ✅ 6 major platform push ❌ Unique
Third-party Export ✅ Notion/Airtable/Sheets ❌ Unique
Browser Extension ✅ Chrome/Firefox ❌ Unique
Docker Deployment ✅ Full containerization ❌ wechat-spider only Leading
Native CLI ✅ Complete command-line interface ❌ Scripts only Unique

Core Differentiators:

  1. The only solution supporting 6-level policy routing(fast → adaptive → stable → reliable → zero_dep → jina_ai)
  2. The only solution supporting zero-dependency mode(pure standard library, no pip install required)
  3. The only solution that also supports jina.ai fallback(the last reliable safeguard)
  4. The only solution supporting OG metadata fallback
  5. The only solution supporting image-paragraph association
  6. The only solution supporting the complete Content Status status codes
  7. The only solution integrating the Scrapling adaptive strategy
  8. The only solution that supports both html2text and markdownify
  9. The only solution that supports the data-backsrc image lazy-loading attribute
  10. The only solution that supports op_res WeChat CDN resource filtering
  11. The only solution that supports parsing Sogou links into real WeChat links
  12. The only solution that supports filtering 40+ STOP_MARKERS noise markers (drawing on the best of camofox)
  13. The only solution that supports extracting the publish time via body date regex (drawing on the best of camofox)
  14. The only solution that supports inserting images into the body in original order (drawing on the best of camofox)
  15. The only solution that supports preserving table structure (markdownify converts table/thead/tbody/tr/th/td)
  16. The only solution that supports video extraction (supported by all 6 strategies; extracts video URL, cover, duration, title)
  17. The only solution that supports interaction data extraction (read count, like count, Wow count)
  18. The only solution that supports a modern Web GUI (React + TypeScript + Tailwind + FastAPI)
  19. The only solution that supports a browser extension (Chrome/Firefox plugin, one-click capture, keyboard shortcut support)
  20. The only solution that supports public opinion monitoring (sensitive word detection, brand tracking, sentiment analysis, crisis warning)
  21. The only solution that supports a data visualization dashboard (ECharts charts, reading trends, interaction heatmaps)
  22. The only solution that supports competitive analysis (multi-account comparison, competitiveness scoring, content strategy analysis)
  23. The only solution that supports AI-powered insights (anomaly detection, trend analysis, automatic operations suggestions)
  24. The only solution that supports hot topic tracking (automatic discovery, spread speed monitoring, lifecycle analysis)
  25. The only solution that supports AI title generation (8 viral formulas, CTR prediction, A/B testing)
  26. The only solution that supports smart summary generation (5 styles, automatic key information extraction)
  27. The only solution that supports content rewriting and polishing (5 style transformations, tone adjustment)
  28. The only solution that supports material library management (copy/image favorites, tag categorization, quick search)
  29. The only solution that supports scheduled task scheduling (Cron expressions, automatic collection, scheduled export)
  30. The only solution that supports task execution logs (execution history, success rate statistics, error tracking)
  31. The only solution that supports notifications and reminders (email/Webhook/template management)
  32. The only solution that supports SQLite full-text search (FTS5 search engine)
  33. The only solution that supports data persistence (incremental updates + change detection)
  34. The only solution that supports a visualized task queue (pause/resume/stop control)
  35. The only solution that supports automatic article classification (10-category intelligent classification)
  36. The only solution that supports comment collection (top comments, replies, like counts)
  37. The only solution that supports multi-format export (Excel/PDF/Word/Markdown/JSON/CSV, with style templates)
  38. The only solution supporting advanced filtering (multi-condition AND/OR logic, filter template saving)
  39. The only solution supporting a batch operation engine (batch export/edit/sync/delete, task queue)
  40. The only solution supporting RSS Feed generation (full text/summary/multiple feeds)
  41. The only solution supporting an MCP server (native Claude Desktop integration)
  42. The only solution supporting official account monitoring and subscription (automatic detection of new articles)
  43. The only solution supporting content quality scoring (multi-dimensional automatic scoring)
  44. The only solution supporting AI intelligent summarization (LLM-driven, multi-provider support)
  45. The only solution supporting a Webhook notification system (automatic push to 6 major platforms)
  46. The only solution supporting third-party platform export (Notion/Airtable/Google Sheets)
  47. The only solution supporting a browser extension (one-click capture in Chrome/Firefox)
  48. The only solution providing a native CLI (Typer + Rich, single-file distribution supported)
  49. The only solution supporting full Docker containerization (Web + CLI, one-click startup with docker-compose)
  50. The only solution supporting intelligent monitoring deduplication (dual detection via title similarity + content hashing)
  51. The only solution supporting an article priority algorithm (WCI viral index + keyword matching score)
  52. The only solution supporting team collaboration (multi-user, RBAC permissions, shared workspace, article annotation)
  53. The only solution supporting third-party integrations (automatic sync with Notion/Yuque/Airtable)
  54. The only solution supporting intelligent batch processing (real-time push for high priority, aggregated summary for normal priority)
  55. The only solution supporting alert fatigue protection (quiet hours, rate limiting, cooldown protection)
  56. The only solution supporting a data visualization dashboard (core metrics/trend charts/publishing distribution/category proportions/quality distribution)
  57. The only solution supporting AI sentiment analysis (positive/negative/neutral + confidence score)
  58. The only solution supporting AI keyword extraction (TF-IDF + LLM hybrid algorithm)
  59. The only solution supporting AI intelligent summarization (automatically generates article summaries and key points)
  60. The only solution supporting multiple LLM providers (Ollama local + OpenAI/DeepSeek API)
  61. The only solution supporting semantic search (vector similarity retrieval, understands search intent)
  62. The only solution supporting similar article recommendations (k-NN recommendation based on content vectors)
  63. The only solution supporting vector storage (sqlite-vss / faiss, supports Embedding retrieval)
  64. The only solution supporting an automated workflow engine (IFTTT-style trigger-action system, supports Webhook/email/WeCom/Feishu)

v2.2.0 - Smart Monitor v2.0

  • ✨ New: Intelligent Monitoring and Alerting System v2.0
    • Intelligent deduplication: dual detection via title similarity + content hash
    • Priority algorithm: WCI virus index + keyword matching
    • Intelligent batching: real-time push for high priority, aggregated summaries for normal priority
    • Alert fatigue protection: quiet hours, rate limiting, cooldown periods
  • ✨ Added: w monitor Full CLI support (add/list/remove/check/watch/stats)
  • ✨ Added: w smart-monitor Advanced monitoring commands

v2.3.0 - Dashboard v1.0

  • ✨ Added: Data visualization dashboard Dashboard v1.0
    • Core metric cards: article count/reads/likes/average WCI
    • Trend charts: reads/likes/WCI 7/30/90-day trends
    • Publish time distribution: 24-hour heatmap analysis
    • Content category proportions: pie chart display
    • Quality score distribution: four-tier grading statistics
    • Popular article ranking: Top 10 by reads/likes/WCI
    • Account statistics comparison: multi-account data overview
  • ✨ Added: w dashboard CLI command to launch dashboard
  • ✨ Added: analytics.py Data analysis engine

v2.4.0 - AI Intelligent Analysis Engine v1.0

  • ✨ Added: AI Intelligent Analysis Engine (ai_analyzer.py)
    • Sentiment analysis: positive/negative/neutral + confidence scoring
    • Keyword extraction: TF-IDF + LLM hybrid algorithm
    • Intelligent summarization: automatically generate article summaries and key points
    • Entity recognition: person/company/product/location extraction
    • Multi-model support: Ollama local models + OpenAI/DeepSeek API
  • ✨ Added: w analyze CLI commands
    • w analyze article --url <URL>: single article AI analysis
    • w analyze batch: batch analysis
    • w analyze stats: sentiment distribution statistics
    • w analyze keywords: keyword cloud
  • ✨ Added: AI analysis result persistent storage (SQLite)

v2.5.0 - Semantic Search and Vector Retrieval v1.0

  • ✨ Added: Semantic search engine (semantic_search.py)

    • Vector database storage (supports sqlite-vss / faiss as alternatives)
    • Text vectorization (Ollama local / OpenAI API)
    • Semantic similarity search (cosine similarity)
    • Similar article recommendation (k-NN retrieval)
    • Content clustering analysis (automatic topic discovery)
  • ✨ Added: Vector storage engine (vector_store.py)

    • Unified management of Embedding providers
    • Multi-model support (Ollama nomic-embed-text / OpenAI ada-002)
    • Intelligent fallback: LLM → API → rule-based embedding
  • ✨ Added: w search --semantic Semantic search

  • ✨ Added: w semantic command group

    • w semantic index: index articles into vector store
    • w semantic search -q '查询': semantic search
    • w semantic similar --id <ID>: similar article recommendation
    • w semantic cluster: content clustering analysis
    • w semantic stats: vector store statistics
  • ⚡ Added: w workflow command group (IFTTT-style automated workflows)

    • w workflow create --name <名称> --trigger <类型>: create workflow
    • w workflow list: list all workflows
    • w workflow trigger --id <ID>: manually trigger workflow
    • w workflow logs: view execution logs
    • w workflow server --port 8080: start API server
    • w workflow stats: Workflow Statistics
  • 👥 New: w team Command Group (Team Collaboration System)

    • w team create --name <名称> --user <ID>: Create Team
    • w team list --user <ID>: List My Teams
    • w team join --code <邀请码>: Join Team
    • w team members --id <团队ID>: View Members
    • w team collections --id <团队ID>: View Shared Favorites
    • w team stats --id <团队ID>: Team Statistics
  • 🔄 New: w sync Command Group (Third-Party Integrations)

    • w sync add --name <名称> --provider notion --token <TOKEN>: Add Integration
    • w sync list: List Integration Configurations
    • w sync test --name <名称>: Test Sync
  • 📊 New: w export Command Group (Multi-Format Export)

    • w export excel --ids <JSON> --output <路径>: Excel Export
    • w export pdf --ids <JSON>: PDF Export
    • w export word/markdown/json/csv: Other Formats
  • 🔍 New: w filter Command Group (Advanced Filtering)

    • w filter create --name <名称> --field <字段> --op <操作符>: Create Filter Template
    • w filter list: List Filter Templates
    • w filter apply --template <ID>: Apply Filter
    • w filter delete --template <ID>: Delete Template
  • ⚙️ New: w batch Command Group (Batch Operations)

    • w batch export --ids <JSON> --format <格式>: Batch Export
    • w batch edit --ids <JSON> --tags <JSON>: Batch Edit
    • w batch list: View Batch Tasks
    • w batch status --task <ID>: Task Status
  • 🔌 Browser Extension: Chrome/Firefox Plugin

    • One-click capture of the current WeChat article
    • Supports Markdown/HTML/JSON formats
    • Shortcut: Ctrl+Shift+S Quick Capture
    • Right-click menu quick actions
    • Automatically syncs with the CLI service
    • w extension install --browser chrome: Show Installation Guide
    • w extension pack --browser firefox: Package Extension

This document was generated by wechat-article-scraper v3.39.0

v3.40.0 - Deep WeChat Ecosystem Integration (Round 92)

  • ✨ New: WeChat Mini Program ("One-Click Forward to Save" Experience)
    • Supports forwarding WeChat articles to the Mini Program for automatic saving
    • Real-time save progress display
    • Browse the list of saved articles
    • Automatic account creation via WeChat login
  • ✨ New: WeChat Official Account Message Integration (Fallback Path)
    • Send article links to the Official Account for automatic saving
    • Auto-reply with save status and reading link
    • Duplicate article detection prompt
    • Account binding system
  • ✨ New: WeChat OpenID User Binding System
    • Mini Program/Official Account users automatically mapped to internal accounts
    • UnionID cross-application identification
    • Asynchronous scraping task queue
    • Message logging and debugging
  • ✨ New: Dual-Track Saving Strategy
    • MiniApp (Recommended): Forward → Mini Program → Auto Save → Read
    • Official Account (Fallback): Copy link → Send to Official Account → Auto Save
  • ⚡ Competitor Benchmarking: Achieve a Cubox/Matter-level "forward on WeChat to save" experience
    • Simplified from 3 steps (copy → paste → save) to 1 step (forward)
    • Save conversion rate target: >80%
    • Average save time target: <5 seconds

Core Differentiating Updates(v3.40.0): 65. The only solution supporting WeChat Mini Programs(One-click forwarding and saving, comparable to Cubox) 66. The only solution supporting WeChat Official Account messages(Backup path, no review required) 67. The only solution supporting dual-track integration within the WeChat ecosystem(Mini Program + Official Account complement each other) 68. The only solution supporting automatic OpenID user mapping(Seamless account binding) 69. The only solution supporting an asynchronous save task queue(High-concurrency WeChat message processing)

This document was generated by wechat-article-scraper v3.40.0

v3.41.0 - CI/CD Pipeline (Round 94)

  • ✨ Added: GitHub Actions CI/CD workflow
    • CI: Lint + Type Check + Unit/Integration/E2E Tests
    • CD-Staging: Vercel Preview + DB Migration
    • CD-Production: Production deployment + Sentry integration
    • Scheduled Benchmark: Weekly automated benchmark testing
  • ✨ Added: Quality gate system
    • Test coverage threshold (30% → 60%)
    • Scraping success rate threshold (≥ 95%)
    • Annotation accuracy threshold (≥ 98%)
  • ✨ Added: Security scanning
    • Automated npm audit checks
    • Trivy vulnerability scanning
  • ⚡ Benchmarked: CI/CD is now aligned with Omnivore/Wallabag best practices
  • 🔄 Optimized: Standardized package.json test scripts

Core Differentiation Updates(v3.41.0): 70. The only solution supporting fully automated benchmark testing(Runs automatically every week, threshold checks) 71. The only solution supporting Stagehand AI E2E(AI-driven end-to-end testing) 72. The only solution supporting quality gates(Mandatory success rate/accuracy checks before merging)

This document was generated by wechat-article-scraper v3.41.0