在linux服务器上保存完整网页的最佳方法是什么?

Tom*_*mas 12 linux webpage curl wget save

我需要在我的linux服务器上存档包括任何链接图像等的完整页面.寻找最佳解决方案.有没有办法保存所有资产,然后重新链接所有资产在同一目录中工作?

我考虑过使用curl,但我不确定如何做到这一切.另外,我可能需要PHP-DOM吗?

有没有办法在服务器上使用firefox并在加载地址或类似后复制临时文件?

欢迎任何和所有输入.

编辑:

似乎wget'不'将起作用,因为需要渲染文件.我在服务器上安装了firefox,有没有办法在firefox中加载url然后获取临时文件并清除临时文件?

Arn*_*anc 14

wget 可以做到这一点,例如:

wget -r http://example.com/
Run Code Online (Sandbox Code Playgroud)

这将反映整个example.com网站.

一些有趣的选择是:

-Dexample.com:不要关注其他域的链接
--html-extension:将text/html content-type的页面重命名为.html

手册:http://www.gnu.org/software/wget/manual/

  • 伙计们/姑娘们,wget 正在获取完整的站点。我想给它一个页面并获取该页面的内容。我在这里错过了什么吗? (3认同)
  • wget 为此完全无法使用。 (2认同)

SuB*_*SuB 9

使用以下命令:

wget -E  -k -p http://yoursite.com
Run Code Online (Sandbox Code Playgroud)

使用-E调整扩展.使用-k转换链接,从存储加载页面.使用-p下载页面中的所有对象.

请注意,此命令不会下载指定页面中超链接的其他页面.这意味着此命令仅下载正确加载指定页面所需的对象.


thk*_*ala 6

如果网页中的所有内容都是静态的,您可以通过以下方式解决此问题wget:

$ wget -r -l 10 -p http://my.web.page.com/
Run Code Online (Sandbox Code Playgroud)

或其一些变化.

由于您还拥有动态页面,因此通常无法使用wget任何简单的HTTP客户端存档此类网页.正确的归档需要包含后端数据库的内容和任何服务器端脚本.这意味着正确执行此操作的唯一方法是复制支持服务器端文件.这至少包括HTTP服务器文档根和任何数据库文件.

编辑:

作为解决方法,您可以修改您的网页,以便适当特权的用户可以下载所有服务器端文件,以及后备数据库的文本模式转储(例如SQL转储).您应该格外小心,以避免通过此归档系统打开任何安全漏洞.

如果您使用的是虚拟主机提供商,那么它们中的大多数都提供某种允许备份整个站点的Web界面.如果您使用的是实际服务器,则可以安装大量备份解决方案,包括一些基于Web的托管站点.


Par*_*Rai 5

在 Linux 服务器上保存完整网页的最佳方法是什么?

我尝试了几种工具curlwget但没有任何效果达到我的预期。

最后我找到了一个保存完整网页的工具(图像、脚本、链接页面......一切都包括在内)。其用铁锈书写,名为monolith. 看一看。

它不会将图像和其他脚本/样式表保存为单独的文件,而是将它们打包在 1 个 html 文件中。

例如

如果我必须将https://nodejs.org/en/docs/es6保存到 es6.html,并将所有页面必需项打包在一个文件中,那么我必须运行:

monolith https://nodejs.org/en/docs/es6 -o es6.html
Run Code Online (Sandbox Code Playgroud)