Skills web-reader

智能网页阅读器 - 抓取文章/下载视频并归档,支持分析、摘要、衍生。Triggers: '下载这篇文章', '抓取文章', '保存文章', 'fetch URL', '分析这篇文章', '摘要', '总结文章', '下载视频', '抓取微信文章', '抓取飞书文档', '把这个链接保存下来', '下载B站视频', 'download article', 'analyze article', 'summarize'.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/alexxxiong/web-reader" ~/.claude/skills/openclaw-skills-web-reader && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/alexxxiong/web-reader" ~/.openclaw/skills/openclaw-skills-web-reader && rm -rf "$T"
manifest: skills/alexxxiong/web-reader/SKILL.md
source content

Web Reader

智能网页阅读器:抓取文章(图文)→ 归档到指定目录 → 分析/摘要/衍生。

工作流程

Phase 1: 下载原文(优先执行)

当用户提供 URL 并要求下载/保存/抓取/分析时,先下载原文

Step 1: 确定归档路径

检查用户是否配置了归档目录。读取

~/.claude/web-reader.json

{
  "archive_dir": "/Volumes/Keybase (m4)/private/biggerbear/文档/微信摘录",
  "categories": ["AI漫剧短剧", "AI工具与技术", "OpenClaw", "开发技术", "商业与产品", "飞书文档"]
}

如果配置文件不存在,使用

~/Documents/docs/
作为默认归档目录。

Step 2: 抓取文章

python3 {SKILL_DIR}/fetcher.py "URL" -o "ARCHIVE_DIR" --category "CATEGORY"

对于需要 JavaScript 渲染的页面(返回 "JavaScript enabled" 错误),升级为浏览器模式:

# 先尝试 scrapling fetch(浏览器)
scrapling extract fetch "URL" /tmp/article.md --network-idle

# 如果仍失败,用 camoufox
python3 {SKILL_DIR}/fetcher.py "URL" -o "ARCHIVE_DIR" --method camoufox --category "CATEGORY"

Step 3: 处理微信图片

对于微信公众号文章(mp.weixin.qq.com),fetcher.py 自动处理

data-src
图片。 如果自动处理失败(图片为空
![]()
占位符),手动处理:

  1. 用 scrapling 获取 HTML:
    scrapling extract get "URL" /tmp/wx.html -s "#js_content"
  2. 从 HTML 中提取
    data-src="https://mmbiz.qpic.cn..."
    URL
  3. 下载图片到
    ARCHIVE_DIR/CATEGORY/SLUG/
    目录
  4. 替换 markdown 中的空占位符为本地路径

Step 4: 自动分类

根据文章内容判断分类。参考分类关键词:

  • AI漫剧短剧: 漫剧, 短剧, 动漫, seedance, AI视频创作
  • AI工具与技术: AI工具, 大模型, scrapling, agent, API, 技术方案
  • OpenClaw: openclaw, claude code, agent team
  • 开发技术: flutter, 编程, 开发, 逆向, IDE, 部署
  • 商业与产品: 产品分析, 商业模式, 市场, 付费, 创业
  • 飞书文档: feishu.cn 域名

如果不确定分类,询问用户选择或创建新分类。

Step 5: 确认结果

输出归档信息:

  • 文章标题
  • 保存路径
  • 图片数量
  • 分类

Phase 2: 后续探索(用户触发)

文章下载完成后,等待用户指令:

指令动作
分析阅读文章全文,提取核心观点、论据、方法论,给出结构化分析
摘要生成 3-5 句话的精炼摘要,保留关键数据和结论
总结按章节列出要点,适合快速回顾
衍生基于文章内容,提出可以进一步探索的方向、相关话题、实践建议
提炼提取可直接复用的方法、工具、配置、代码片段
对比与之前下载的其他文章进行对比分析(需指定对比目标)
洗稿基于原文重写,保留核心信息但完全改写表述(配合 /wxpub 使用)

执行分析时,直接读取归档的 markdown 文件,不需要重新抓取。

智能路由

平台方法说明
mp.weixin.qq.comscrapling提取
data-src
图片,处理 SVG 占位符
*.feishu.cn虚拟滚动滚动采集内容块,浏览器内下载图片
zhuanlan.zhihu.comscrapling
.Post-RichText
选择器
www.zhihu.comscrapling
.RichContent
选择器
www.toutiao.comscrapling处理 toutiaoimg base64 占位符
www.xiaohongshu.comcamoufox反爬需要隐身浏览器
www.weibo.comcamoufox反爬需要隐身浏览器
bilibili.com / b23.tvyt-dlp视频下载
youtube.com / youtu.beyt-dlp视频下载
douyin.comyt-dlp视频下载
其他 URLscrapling通用抓取,三级降级策略

安装依赖

按需安装:

依赖用途安装
scrapling文章抓取
pip install scrapling
yt-dlp视频下载
pip install yt-dlp
camoufox反检测浏览器
pip install camoufox && python3 -m camoufox fetch
html2textHTML 转 Markdown
pip install html2text

CLI 参考

python3 {SKILL_DIR}/fetcher.py [URL] [OPTIONS]

参数:
  url                    要抓取的 URL

选项:
  -o, --output DIR       输出目录(默认: 当前目录)
  -q, --quality N        视频质量(默认: 1080)
  --method METHOD        强制方法: scrapling, camoufox, ytdlp, feishu
  --selector CSS         强制 CSS 选择器
  --urls-file FILE       URL 列表文件(每行一个,# 注释)
  --audio-only           仅提取音频
  --no-images            跳过图片下载
  --cookies-browser NAME 浏览器 cookies(如 chrome, firefox)
  --category NAME        归档子目录名
  --json-output          JSON 格式输出(程序化调用)

配置

创建

~/.claude/web-reader.json
配置归档目录:

{
  "archive_dir": "~/Documents/docs/articles",
  "categories": ["技术", "产品", "行业"]
}

平台特殊处理

微信公众号

  • 图片使用
    data-src
    属性 +
    mmbiz.qpic.cn
  • 可见
    <img>
    是 SVG 懒加载占位符
  • 图片下载需要
    Referer: https://mp.weixin.qq.com/
    请求头

飞书文档

  • 虚拟滚动:滚过的内容会从 DOM 移除
  • 注入 JS 采集器在滚动过程中捕获
    [data-block-id]
    内容块
  • 图片 401:必须在浏览器上下文内用
    fetch(url, {credentials: 'include'})
    下载

Bilibili

  • 短链 (b23.tv) 自动解析
  • 大会员内容用
    --cookies-browser chrome

故障排除

问题解决方案
页面需要 JavaScript
--method camoufox
或先
scrapling extract fetch
微信图片为空手动从 HTML 提取
data-src
URL
飞书返回登录页文档可能需要认证
B站 403
--cookies-browser chrome
内容太短尝试
--method camoufox