我想要镜像一个网站,这样我就可以在任何地方(localhost、S3 等)托管静态文件,并且 URL 将像原始文件一样显示给最终用户。
这几乎完美地满足了我的需求(...但不完全是):
wget --mirror -nH -np -p -k -E -e robots=off http://mysite
Run Code Online (Sandbox Code Playgroud)
--mirror:递归下载整个站点-p:下载所有必需的页面必需品-k:将 URL 转换为相对路径,以便我可以在任何地方托管它们有些东西被下载多次,这会导致myfile.html和myfile.1.html。这也不错,只是当 wget 重写超链接时,它是用版本来编写的myfile.1.html,这会改变 URL,因此有 SEO 考虑(Google 会索引丑陋的 URL)。
该-nc选项可以防止这种情况发生,但从 wget-v1.13 开始,我无法同时使用-k和。-nc详细信息请参见此处。
我本来希望使用 wget,但我现在正在考虑使用另一个工具,例如 httrack,但我还没有任何经验。
任何关于如何实现这一目标的想法(使用 wget、httrack 或其他任何东西)将不胜感激!
httrack让我明白了大部分内容,它所做的唯一 URL 修改就是使链接指向/folder/index.html而不是/folder/.
使用 或httrack似乎wget都不会产生完美的 URL 结构,因此我们最终编写了一个运行爬虫的小 bash 脚本,然后sed清理一些 URL(裁剪 fromindex.html链接、替换bla.1.html为bla.html等)
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |