Install
openclaw skills install @jackyfan01/wechat-fetch微信公众号文章抓取工具 v3.0 - Lite轻量版 + Playwright版,支持免登录、批量抓取、图片下载、多格式输出
openclaw skills install @jackyfan01/wechat-fetch微信公众号文章抓取工具 v3.0,在 v2.0 基础上新增:免登录模式、批量抓取、图片下载、多格式输出。
| 特性 | 说明 |
|---|---|
| ✅ 免登录模式 | 无需扫码登录,直接抓取公开文章 |
| ✅ 批量抓取 | 支持从文件读取多个 URL 批量下载 |
| ✅ 图片下载 | 自动下载文章图片到本地 |
| ✅ 多格式输出 | Markdown/HTML/JSON/TXT 四种格式 |
| 版本 | 适用场景 | 资源需求 | 批量抓取 |
|---|---|---|---|
| Lite 版 | 快速抓取、低内存环境 | 低(无需浏览器) | ✅ 支持 |
| Playwright 版 | 需要 Cookie 登录、复杂页面 | 高(需 Chromium) | ✅ 支持 |
# 基本用法
python3 scripts/wechat_fetch_lite.py "https://mp.weixin.qq.com/s/xxxxx"
# 指定输出格式
python3 scripts/wechat_fetch_lite.py "https://mp.weixin.qq.com/s/xxxxx" \
--format html --output article.html
# 下载图片
python3 scripts/wechat_fetch_lite.py "https://mp.weixin.qq.com/s/xxxxx" \
--download-images --output article.md
# 批量抓取
python3 scripts/wechat_fetch_lite.py --batch urls.txt --output ./articles \
--format markdown --delay 3
# 免登录模式
python3 scripts/wechat_fetch_v3.py "https://mp.weixin.qq.com/s/xxxxx" --no-login
# Cookie 模式(需预先登录)
python3 scripts/wechat_fetch_v3.py "https://mp.weixin.qq.com/s/xxxxx"
# 批量抓取(带重试)
python3 scripts/wechat_fetch_v3.py --batch urls.txt --output ./articles \
--no-login --max-retries 3 --retry-delay 5
# 创建 URL 列表文件 urls.txt
echo "https://mp.weixin.qq.com/s/xxx1" > urls.txt
echo "https://mp.weixin.qq.com/s/xxx2" >> urls.txt
echo "https://mp.weixin.qq.com/s/xxx3" >> urls.txt
# 批量抓取
python3 scripts/wechat_fetch_v3.py --batch urls.txt --output ./articles \
--no-login --download-images --format markdown
Lite 版(推荐):
from scripts.wechat_fetch_lite import WeChatFetcherLite
fetcher = WeChatFetcherLite()
# 单篇抓取
result = fetcher.fetch_single(
url="https://mp.weixin.qq.com/s/xxxxx",
download_images=True,
output_format="markdown"
)
Playwright 版:
from scripts.wechat_fetch_v3 import WeChatFetcher
fetcher = WeChatFetcher()
# 单篇抓取
result = fetcher.fetch_single(
url="https://mp.weixin.qq.com/s/xxxxx",
no_login=True,
download_images=True,
output_format="markdown"
)
# 批量抓取
results = fetcher.fetch_batch(
urls=["url1", "url2", "url3"],
output_dir="./articles",
no_login=True,
download_images=True,
output_format="json"
)
| 参数 | 说明 | 默认值 |
|---|---|---|
url | 微信文章 URL | - |
-o, --output | 输出文件路径 | - |
--batch | 批量抓取文件(每行一个URL) | - |
--download-images | 下载图片到本地 | False |
--format | 输出格式 (markdown/html/json/txt) | markdown |
--timeout | 超时时间(秒) | 30 |
--delay | 请求间隔(秒) | 2 |
| 参数 | 说明 | 默认值 |
|---|---|---|
url | 微信文章 URL | - |
-o, --output | 输出文件/目录路径 | - |
--batch | 批量抓取文件路径 | - |
--no-login | 免登录模式 | False |
--download-images | 下载图片到本地 | False |
--format | 输出格式 (markdown/html/json/txt) | markdown |
--headless | 无头模式 | True |
--timeout | 超时时间(秒) | 30 |
--max-retries | 最大重试次数(批量模式) | 3 |
--retry-delay | 重试间隔(秒) | 5 |
| 格式 | 说明 | 适用场景 |
|---|---|---|
| Markdown | 标准 Markdown,含元数据 | 通用,推荐 |
| HTML | 完整 HTML 页面 | 网页展示 |
| JSON | 结构化数据 | 程序处理 |
| TXT | 纯文本 | 简单阅读 |
| 特性 | Lite 版 | Playwright 版 (v3) | Cookie 模式 (v2) |
|---|---|---|---|
| 资源需求 | 低 | 高 | 高 |
| 速度 | 快 | 中等 | 中等 |
| 稳定性 | 高 | 中 | 高 |
| Cookie 登录 | ❌ | ✅ | ✅ |
| 批量抓取 | ✅ | ✅ | ❌ |
| 图片下载 | ✅ | ✅ | ✅ |
| 多格式输出 | ✅ | ✅ | ✅ |
| 重试机制 | ❌ | ✅ | ❌ |
| 推荐场景 | 日常使用 | 复杂需求 | 私密文章 |
# 1. 准备 URL 文件
cat > urls.txt << 'EOF'
https://mp.weixin.qq.com/s/article1
https://mp.weixin.qq.com/s/article2
https://mp.weixin.qq.com/s/article3
EOF
# 2. 执行批量抓取
python3 scripts/wechat_fetch_v3.py \
--batch urls.txt \
--output ./articles \
--no-login \
--download-images \
--format markdown
# 3. 查看结果
ls ./articles/
# article_001.md article_002.md article_003.md images/ batch_report.json
使用 --download-images 参数时:
images/ 子目录articles/
├── article_001.md
├── article_002.md
└── images/
├── image_001.jpg
├── image_002.png
└── image_003.gif
可能原因:
解决:
--timeout 时间可能原因:
解决:
解决:
batch_report.json 了解失败详情pip install playwright beautifulsoup4 requests
playwright install chromium
MIT-0 · Free to use, modify, and redistribute. No attribution required.