网站离线下载保姆级攻略:WebSite-Downloader 整站保存实战
网站离线下载保姆级攻略:WebSite-Downloader 整站保存实战
【免费下载链接】WebSite-DownloaderA website downloader written with Python项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader
收藏夹里躺着几十个网址,昨天还能打开,今天就成了死链。服务器关了、文章被删了,内容说没就没。WebSite-Downloader 是一个用 Python 写的网站离线下载工具,能整站保存页面、样式、脚本、图片与字体,离线也能完整浏览。
为什么需要"整站保存"而不是收藏夹
书签只存链接,不存内容;截图只留外观,丢了交互;复制粘贴则把页面结构拆得七零八落。想"连骨带肉"把网站搬回本地,唯一靠谱的方式就是整站保存。
WebSite-Downloader 的思路很朴素:从首页出发,顺着站内链接一路爬下去,把 HTML、CSS、JavaScript、图片、字体、文档统统落盘,再把页面里所有链接改写成本地相对路径。下载完成后,双击本地 index.html,效果和在线打开几乎一致。
一张表看懂它最常被用在哪儿
| 场景 | 做法 | 收获 |
|---|---|---|
| 个人知识库 | 把技术博客、API 文档整站拉回本地,按主题归档 | 断网也能查,本地搜索飞快 |
| 定期备份 | 每月对自家站点或重要内容做一次整站备份 | 服务器故障、域名过期都不怕丢 |
| 离线演示与 SEO 分析 | 无网环境下展示页面,或本地研究链接结构 | 不占用线上资源,可以反复试 |
第一次下载前的环境准备
需要的东西只有两样:Python 3.6 或更高版本,以及一个终端。然后把项目克隆下来:
git clone https://gitcode.com/gh_mirrors/web/WebSite-Downloader cd WebSite-Downloader整个项目只有一个核心文件,没有任何额外的依赖安装负担,学习成本极低。
三步启动:改网址、运行、验收
第一步,改网址。打开 WebSite-Downloader.py,翻到文件末尾(第 424 行附近),把示例地址换成你要保存的网站:
if __name__ == '__main__': manager = Manager('https://www.example.org/') manager.start()第二步,运行。
python WebSite-Downloader.py第三步,验收。程序默认开 8 个线程并发抓取,全程在控制台打印进度;当 60 秒内没有新链接出现,它会自动收工并响铃提醒。之后进入生成的目录(形如 example-site/www.example.org/),找到 index.html 双击打开,一个完整的本地站点就在你手上了。
让下载更快更全的三个调节旋钮
旋钮一:并发线程数。默认 8 个线程。网络好、目标服务器扛得住时,可以把第 88 行的 range(8) 改成 range(16) 提速;反之,遇到小站点建议调低,别把对方服务器压垮。
旋钮二:支持的资源类型。Spider 类里有一个 other_suffixes 集合,默认覆盖 js、png、pdf、zip 等几十种常见格式。遇到没被收录的扩展名,往集合里加一行就能纳入下载范围。
旋钮三:错误重试与超时。每个请求最多重试 3 次,普通资源超时 20 秒,音视频等大文件放宽到 600 秒。这些参数都写在代码开头,可按需调整。
高频翻车现场速答
问:下载中途一堆报错,正常吗?答:正常,网络波动难免。所有错误都会写进 log.log,带 [socket.timeout]、[ConnectionResetError] 等标记的行会自动重试;实在拉不下来的资源会记为 [failed],可以事后单独补。
问:本地打开页面,图片样式全丢了?答:先确认资源是否真的下载成功;再排查是否引用了外部 CDN 的跨域资源,这类外链默认不会被抓取;最后,由 JavaScript 动态生成的内容,静态下载是拿不到的。
问:网站太大,怕把磁盘塞满?答:先挑几个小页面试跑,估算体积;也可以临时裁剪 other_suffixes 集合,只保留你真正需要的文件类型。
问:会把站外的链接也全拉进来吗?答:不会。工具只抓取与目标站点同顶级域名的内容,外站链接会被自动过滤,放心使用。
从"会用"到"用得好"的长期使用清单
- 给重要站点建立每月备份节奏,让"数据无忧"成为习惯;
- 下载前先看一眼对方的 robots.txt,下载频率别太猛;
- 把本地站点按主题建目录,配一个全文搜索工具,就是现成的私人知识库;
- 用顺手了,把改进建议反馈给项目社区,让工具帮到更多人。
第一次整站保存成功的那一刻,你等于给自己的数字资产上了一道保险。打开终端,挑一个你舍不得丢的网站,现在就试试吧。
【免费下载链接】WebSite-DownloaderA website downloader written with Python项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考