You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用wget镜像Google Sites站点并将链接转换为本地引用?

如何用wget镜像Google Sites站点并将链接转换为本地引用?

我太懂你这种头疼的感觉了——明明用wget把Google Sites的内容下到本地了,结果打开index.html直接跳回线上站点,加了--convert-links也不管用,属实离谱!

问题出在Google Sites的页面结构比较特殊:它的很多链接是动态生成的,而且大量静态资源(图片、样式)都存在googleusercontent.com域名下,之前的命令没覆盖这个域名,导致部分资源和链接没被正确转换。另外,Google Sites的页面里还藏着不少硬编码的绝对路径,wget的默认转换逻辑搞不定这些。

给你两个能解决问题的方案:

方案一:调整wget命令,覆盖所有相关域名

试试这个增强版的wget命令,我自己爬Google Sites的时候亲测有用:

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --domains sites.google.com,googleusercontent.com -P documents/websites/ https://sites.google.com/view/craig-diana-wilkin/home

给你拆解下关键调整的地方:

  • --adjust-extension:自动给无后缀的页面补上.html,避免本地打开时浏览器识别不了路径
  • 新增googleusercontent.com到--domains:把Google Sites的静态资源域名也纳入爬取范围,这样本地打开时资源不会挂,相关链接也能被转换
  • 保留--page-requisites:确保把页面依赖的所有样式、图片、脚本都下下来,本地打开更完整

方案二:批量替换硬编码的绝对路径

如果上面的命令还是有漏网的链接(毕竟Google Sites的页面有很多动态生成的内容),可以用文本替换工具批量改掉硬编码的绝对路径:

适合Linux/macOS的sed命令

在终端里执行这个命令,把所有指向你站点的绝对链接换成本地相对路径:

sed -i 's|https://sites.google.com/view/craig-diana-wilkin/|./|g' documents/websites/sites.google.com/view/craig-diana-wilkin/home/*.html

适合Windows的手动替换

如果用Windows,直接打开本地的index.html(还有其他HTML文件),用记事本/VS Code的“全部替换”功能,把https://sites.google.com/view/craig-diana-wilkin/替换成./就行。

最后再提两个注意点:

  • Google Sites里的动态功能(比如表单、嵌入的Google Docs)本地肯定用不了,因为这些依赖Google的后端服务,wget只能爬静态内容
  • 打开本地页面的时候,一定要从你下载的documents/websites文件夹里直接打开index.html,别点浏览器缓存的旧链接

备注:内容来源于stack exchange,提问作者Wilky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 13:57:58