FDM HTML 蜘蛛整站爬取与批量下载
HTML 蜘蛛是什么
HTML 蜘蛛(HTML Spider,部分版本叫"抓取器")是 FDM 的自动爬取工具——给它一个起始 URL,它会:
- 抓取这个页面的 HTML 源码
- 解析出页面里所有的
<a href="...">超链接 - 根据规则筛选哪些链接要继续往下爬、哪些要直接下载
- 把匹配下载规则的文件 URL 自动加入 FDM 下载队列
- 递归进入下一个页面重复以上步骤,直到达到设置的最大深度
本质上就是一个爬虫 + 下载器的组合——爬取负责找到所有资源 URL,下载引擎负责拉文件。
使用场景
HTML 蜘蛛最适合:
- 批量下载一个网站上的所有同类型资源(比如一个资源站的全部图片、一个文档站的全部 PDF、一个模型库的全部 3D 模型)
- 整站备份(把一个小型静态网站的所有页面和图片一次性拉到本地)
- 批量下载 GitHub Release 里的所有 asset(从 Release 页面的 HTML 里提取所有下载链接)
- 素材收集(比如从 Pexels / Pixabay 批量下载指定关键词的图片)
操作方法
第一步:打开 HTML 蜘蛛
FDM 主界面 → 菜单「工具 → HTML 蜘蛛」(或工具栏的蜘蛛图标)。弹出 HTML 蜘蛛设置面板。
第二步:填写起始 URL 和爬取规则
蜘蛛设置面板里的核心配置项:
| 设置项 | 说明 | 推荐值 |
|---|---|---|
| 起始 URL | 蜘蛛从哪个页面开始爬 | 直接输入目标页面 URL |
| 最大爬取深度 | 蜘蛛顺着链接走几层 | 2-4(太深容易跑偏) |
| 下载文件的扩展名 | 只下载匹配这些扩展名的文件 | 逗号分隔:.jpg,.png,.zip,.pdf,.mp4 |
| 忽略的扩展名 | 遇到这些扩展名的页面不往下爬 | .html,.htm,.php,.asp(这些是页面本身,不是资源) |
| 只爬同域名 | 防止蜘蛛跑出目标网站到互联网上乱爬 | ✅ 勾选(默认) |
| 子域名也爬 | 如果想包含 sub.example.com 这种子域 | ✅ 按需勾选 |
| 保存到 | 下载的文件存哪里 | 默认下载目录 |
第三步:预览匹配到的 URL
填完规则后,先点「预览」——蜘蛛会在当前配置下跑一遍模拟爬取,把所有匹配到的下载 URL 列出来让你确认。确认列表里没有无关文件后,再点「开始」。
这一步预览很重要——如果规则写得太松(比如扩展名只写 .html),蜘蛛可能把整个互联网都爬一遍、下载一堆你不要的文件。先预览再开始是必要的安全措施。
第四步:开始爬取下载
蜘蛛开始工作后,匹配到的文件会实时加入 FDM 主下载队列——不需要等全部爬完再统一下载。你可以同时看到:
- 蜘蛛面板实时显示当前爬取进度(已爬多少页、找到多少可下载文件)
- FDM 主下载队列里不断有新任务加入、开始下载
扩展名过滤进阶
扩展名过滤可以写得更灵活:
精确扩展名匹配
只下载图片:.jpg,.jpeg,.png,.gif,.webp,.bmp
只下载文档:.pdf,.doc,.docx,.epub
只下载视频:.mp4,.mkv,.mov,.avi,.flv,.webm
只下载压缩包:.zip,.7z,.rar,.tar,.gz,.bz2
排除特定扩展名
在「忽略的扩展名」里列那些你不想爬的页面扩展名:
.html,.htm,.php,.asp,.aspx,.jsp,.do
这样蜘蛛遇到这些页面链接不会继续往里爬——可以大幅减少爬取量。
通配符模式(高级)
如果你想匹配更复杂的 URL 模式(比如只下载路径里含 /downloads/ 的文件),可以用 FDM 高级设置里的正则表达式过滤:
/downloads/.*\.(zip|rar|7z)$
匹配所有 URL 路径里有 /downloads/ 结尾是 .zip/.rar/.7z 的文件。
爬取深度的选择
| 深度 | 含义 | 推荐场景 |
|---|---|---|
| 1 | 只爬起始 URL 页面里的链接 | 页面直接列出了所有文件,不需要进入子页面 |
| 2 | 起始页面 + 起始页面链接的页面 | 资源站目录 → 子页面 → 文件 |
| 3 | 再往下一层 | 结构较深的网站(比如 /category/xxx/page/y) |
| 4+ | 多层嵌套 | 小型整站备份 |
不要设太大——深度 5+ 的蜘蛛容易跑出目标范围、爬到无关网站(即使勾了同域名也可能有重定向问题)。
保留源目录结构
蜘蛛下载文件时默认保留源网站的目录结构:
源网站 URL:
[example.com]/downloads/2025/books/python-cookbook.pdf
[example.com]/downloads/2025/books/java-core.pdf
下载后本地路径:
[保存目录]/downloads/2025/books/python-cookbook.pdf
[保存目录]/downloads/2025/books/java-core.pdf
如果不想保留目录结构(想让所有文件平铺在一个目录里),可以在蜘蛛设置里取消勾选「保留原始路径」。
网站反爬注意
HTML 蜘蛛虽然比 Site Explorer 更自动化,但也更容易触发目标网站的反爬机制:
风险信号:
- 同一分钟内请求超过 20-30 次
- User-Agent 是爬虫特征(FDM 默认的 User-Agent 有时会被识别)
- 短时间内下载大量大文件(服务器可能临时封禁你的 IP)
降低风险的配置:
- 在 Spider 设置里把请求间隔设大一些(比如每个页面请求间隔 2-5 秒)
- 把 User-Agent 伪装成 Chrome / Firefox(FDM 偏好设置 → 高级 → HTTP User-Agent)
- 分批爬取——先爬一部分,等下载完再爬下一部分
- 如果被临时封禁,换个 IP(手机热点 + 飞行模式切换 = 换公网 IP)再试
实战:爬取一个资源站的全部 PDF
场景:
有一个资源站 example.com 提供 2025 年考研资料,全部是 PDF 文件,按科目分类放在目录下。
想一次性把所有 PDF 拉到本地。
配置:
起始 URL:资源站的考研 2025 目录页面
最大爬取深度:3
下载文件的扩展名:.pdf
只爬同域名:✅ 勾选
保存路径:D:\Downloads\考研2025\
步骤:
1. FDM → 工具 → HTML 蜘蛛 → 填写上述配置
2. 点「预览」→ 看到列表里约 150 个 PDF URL → 确认都是合法文件
3. 点「开始」→ 蜘蛛开始爬,匹配的 PDF 实时加入下载队列
4. 同时 FDM 主下载队列里已有约 20 个 PDF 在下载
5. 约 20 分钟后:蜘蛛爬完 → 150 个 PDF 全部在队列里 → 下载继续
6. 全部完成后:D:\Downloads\考研2025\ 下保留了源站的目录结构,约 200 MB
和专门爬虫工具的对比
| 场景 | FDM HTML 蜘蛛 | 专门爬虫(wget / HTTrack / ScrapeStorm) |
|---|---|---|
| 批量下载文件 | ✅ 够用 | ✅ 更强(有可视化、更灵活) |
| 整站镜像 | ⚠️ 基础 | ✅ HTTrack 等更专业 |
| 数据抓取(文字 / 结构化信息) | ❌ 不支持 | ✅ 各工具各有专长 |
| 直接用 FDM 下载引擎 | ✅ 分段 + 续传 + 镜像源 | ❌ 需要额外配合下载器 |
| 不用装额外工具 | ✅ 内建 | ❌ 需要额外安装 |
简单说:已经有 FDM 、想顺手爬点资源 → 用 HTML 蜘蛛;需要更专业的爬取(数据抓取、整站镜像、反爬对抗)→ 装专门的爬虫工具。
HTML 蜘蛛的核心是扩展名过滤和爬取深度。下一页讲过滤器的高级用法和白名单。