零依赖整站搬运WebSite-Downloader网站离线下载实战手册【免费下载链接】WebSite-DownloaderA website downloader written with Python项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader先从一次收藏夹事故说起去年冬天我发现自己常用的一个技术文档站打不开了。前一天还能正常访问的页面一夜之间变成了 404。浏览器收藏夹里那个链接安静地躺了三年再也点不出任何内容。类似的遗憾你一定也经历过专题网站停更、教程被删除、考试前资料页突然失效。收藏夹只能记住地址却保不住内容。今天要介绍的这个开源工具就是专门解决这个问题的——WebSite-Downloader一个用 Python 写的整站下载器能把网站完整搬到本地硬盘断网也能看。它到底是什么一句话讲清你可以把它想象成一位**网站搬家公司**不仅搬走你指名的那个页面还会顺着页面里的所有链接把 CSS、JavaScript、图片、字体、文档、音视频一并搬回家并且顺手把文件之间的指路牌链接全部改成本地相对路径让你在断网状态下双击index.html看到的仍是完整的网站。更难得的是它的克制零第三方依赖只用了 Python 自带标准库不用 pip 安装任何包单文件即用整个工具就一个WebSite-Downloader.py约 400 多行八线程并发默认 8 个线程同时抓取速度可观动手之前先解开三个心结问是不是要装一堆环境不用。只要你有 Python 3.6 或更高版本直接运行即可一个依赖都不装。问它会把别人的网站搬空吗不会。它只下载同一顶级域名下的内容比如只抓www.xxx.com不碰外部 CDN 或外链站行为可控、温和。问下载到一半断网怎么办内置了最多 3 次重试、20 秒超时以及完整的日志记录哪一步失败都会写进log.log方便你排查重来。四步走把网站搬回本地第一步拿到代码git clone https://gitcode.com/gh_mirrors/web/WebSite-Downloader cd WebSite-Downloader第二步改两个词打开文件最后两行示例代码把网址换成目标站点if __name__ __main__: manager Manager(https://www.example.com) manager.start()比如换成Manager(https://www.whsw.net/)。第三步运行python WebSite-Downloader.py终端会实时打印正在处理的链接全程不需要任何交互。第四步验证成果下载结束后所有文件会落在以域名命名的文件夹里形如whsw-site/www.whsw.net/。用浏览器打开其中的index.html如果页面和在线时几乎一致说明搬运成功。进阶玩法一张表玩转自定义想做的事情动手位置具体操作下载更快Manager.__init__中的range(8)改成range(16)线程翻倍也别太大别把对方服务器压垮支持更多文件类型Spider.__init__中的other_suffixes集合在集合里加扩展名如md、epub给媒体文件更长下载时间media_suffixes集合已内置 mp4、pdf、zip 等可按需扩充调整重试次数max_tries 3网络不稳时可改大老手才知道的几个小秘密编码自动适配源码按utf-8 → gb2312 → gbk依次尝试解码中文老站也不容易乱码。日志是最好的老师运行后根目录会生成log.logHandled表示处理成功failed get说明抓取失败对照排查比瞎猜快得多。带 Cookie 访问代码内置了 CookieJar对需要登录态或带会话的页面更友好。链接重写很讲究HTML 里的href/src、CSS 里的url(...)都会被重写为相对路径#锚点、javascript:、data:image这类伪链接会被聪明地过滤掉不会造成误抓。结束信号很贴心连续 60 秒没有新链接程序会自动收尾还会响铃提醒你搬完了。它还能这样用三个真实片段备考学生的资料库把课程网站、习题页整站下载坐地铁、进图书馆无网环境也能随时翻看。独立开发者的官网备份每月跑一次把个人站点连同博客文章完整镜像到移动硬盘域名到期、服务器迁移都不慌。产品经理的离线演示见客户前把官网下载到笔记本会场没网也能现场演示完整页面效果不卡壳、不失态。翻车自救速查表现象大概率原因应对办法页面能开但样式全乱CSS 没抓到或路径没重写检查log.log里对应 css 链接是否failed重跑一次部分图片是空白跨域/外链图片被规则过滤这类资源需手动补充工具只抓同域内容视频不播放可能是 m3u8 流媒体已支持m3u8扩展名可确认是否在抓取列表内下载很久没动静对方服务器慢或超时适当调大线程数或重试次数后重跑现在轮到你了选一个你常看的小型静态网站当试验田按上面四步跑通一次完整下载打开本地首页核对样式与图片是否齐全把other_suffixes里加上你关心的文件类型为最重要的几个站点定一个每周备份的闹钟在这个信息随时可能消失的年代把在乎的内容搬回自己硬盘是成本最低的安全感。WebSite-Downloader 也许不是最花哨的工具但它足够轻、足够稳像一个安静可靠的搬运工把你的数字记忆一箱一箱存好。下次再遇到心爱的页面别再只是收藏——下载下来它才能真正属于你。【免费下载链接】WebSite-DownloaderA website downloader written with Python项目地址: https://gitcode.com/gh_mirrors/web/WebSite-Downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考