利用wget抓取Caddy文档
一直以为,抓取网站整站,要么需要一个非常牛的工具,要么自己用curl之类写一个。这次想把caddy的英文文档的站点做个镜像的时候,竟然发现可以直接利用wget来实现,还真是小瞧了这个常见的工具了。
wget的参数的详解,网上已经很多了,就不再copy了,有兴趣详细了解的朋友可以参考下面的链接:
首先,我想做caddy的doc的镜像的原因是因为经常访问不了,也就是说,不想通过代理才能访问,所以,我需要使用代理的相关命令。因为caddy是https协议,所以我export一个变量https_proxy来作为代理。
通过查看网络连接的代理选项,获知到HTTPS的代理地址是 127.0.0.1:51925。

最终,命令如下:
https_proxy=http://127.0.0.1:51925 wget -m -e robots=off -k -E https://caddyserver.com/docs单独对这个命令解释一下吧:
- 放在wget前面的命令
https_proxy=http://127.0.0.1:51925,实际上是export了一个环境变量单独给wget使用。
一般地,我们可以用export key=value命令来export一个全局的环境变量,如果只是希望把环境变量指给某个程序使用的话,就可以将其放在这个程序的前面,而不对全局的环境变量形成污染,防止造成不必要的影响。 -m -m, –mirror 等价于 -r -N -l inf -nr.
- -r 递归下载
- -N 要重新下载文件除非比本地文件新
- -l 最大递归深度 (inf 或 0 代表无穷)
- -nr 不移走 `.listing'文件
- -e robots=off 让wget耍流氓无视robots.txt协议
- -k 将绝对URL链接转换为本地相对URL
- -E 将所有text/html文档以.html扩展名保存
值得一提的是,这里边的-E选项非常有用,因为caddy的doc的url都是没有后缀的,下载后不追加扩展名的话就不能直接浏览。
Converting links in caddyserver.com/resources/css/sweetalert2.min.css... nothing to do.
Converting links in caddyserver.com/resources/css/home.css... 1-0
Converting links in caddyserver.com/resources/css/sponsor.css... nothing to do.
Converting links in caddyserver.com/resources/css/download.css... nothing to do.
Converting links in caddyserver.com/resources/css/common.css... 1-0
Converting links in caddyserver.com/resources/css/account/common.css... nothing to do.
Converting links in caddyserver.com/resources/css/brand.css... 1-0
Converting links in caddyserver.com/resources/css/features.css... nothing to do.
Converting links in caddyserver.com/resources/css/legal.css... nothing to do.
Converting links in caddyserver.com/resources/css/blog.css... nothing to do.
Converted links in 172 files in 0.6 seconds.经过一段时间的等待,终于下载完了,在浏览器就可以直接打开了,效果如下:
接下来,我们可以用见caddy命令将其设置成一个网站直接浏览了:
$: cd caddyserver.com
$: caddy browse
Activating privacy features... done.
http://:2015用浏览器打开http://localhost:2015,caddy文档的本地镜像就完成了:
最后,我已经把caddy镜像上传到自己的空间了,希望对大家快速学习caddy有所帮助:
https://dengxiaolong.com/caddy/doc/