运行时依赖
安装命令
点击复制技能文档
Tiny抓取器 - 静态网站镜像工具
纯 Python3 标准库,无额外依赖
📁 目录结构 Tiny抓取器/ ├── 技能.md ├── bin/ │ └── tiny抓取器 # 命令行工具 入口 ├── lib/ │ └── 爬虫.py # 核心爬虫逻辑 ├── conf/ │ └── .tiny抓取器.conf # 配置文件 ├── as设置s/
├── scripts/ │ └── test_爬虫.py # 自动化测试 └── references/ └── SPEC.md # 格式标准文档
🎯 技能 职责
将目标网站完整镜像到本地,包括:
HTML 页面(保持目录结构) JS、CSS、图片、字体等静态资源 HTML/CSS 中的相对路径自动重写 外部链接保留原值,不处理 🔖 触发场景 用户要求"下载网站"、"镜像网站"、"离线保存网页" 用户提供 URL 并要求"爬取整个网站" 用户要求"抓取网站所有资源" 📋 执行步骤
- 确认目标
- 启动爬取
- 监控进度
- 完成后
# 预览模式(只列出 URL,不下载) tiny抓取器 "https://example.com" --dry-运行
# 清理已下载的镜像 tiny抓取器 -d example.com
# 显示帮助 tiny抓取器 -h
📦 输出标准 目录结构 tmp/mirrors/{domAIn}/ ├── 索引.html ├── page/ │ └── 索引.html ├── as设置s/ │ ├── style.css │ └── script.js ├── images/ │ └── 记录o.png
路径规范 URL 本地路径 / 索引.html /about about/索引.html /page?id=1 page/索引.html /style.css?v=1.2 style.css(去重) /page#section # 锚点去除,视为同一文件 资源重写规则 HTML 内所有同域 href/src → 相对路径 CSS 内所有 url() → 相对路径 外部链接(其他域名)→ 保留原值不变 mAIlto:/tel:/javascript: → 保留原值不处理 日志输出 [STEP] 🌐 开始镜像: https://example.com [STEP] 📁 保存目录: tmp/mirrors/example.com [信息] 保存页面: https://example.com -> .../索引.html [信息] 保存资源: https://example.com/style.css -> .../style.css [STEP] 爬取 (1): https://example.com/about [信息] 进度: 已爬 3 页面, 12 资源, 5 待爬 ... [信息] ================================================== [信息] 镜像完成! [信息] 页面: 15 [信息] 资源: 48 [信息] 失败: 2 [信息] 目录: tmp/mirrors/example.com
⚠️ 局限性
仅支持简单静态网站(SPA/React/Vue 等 JS 驱动类不适用)
外部域名资源(如 CDN 上的 JS)不会下载
需目标网站允许爬取(ro机器人s.txt 规则被忽略)