我在几个不同的网站上有几个我想完全镜像的网页。这意味着我将需要图像,CSS等,并且需要转换链接。此功能类似于使用Firefox“将页面另存为”并选择“网页,完整”。我想将文件和相应的目录命名为合理的(例如myfavpage1.html,myfavpage1.dir)。
我无法访问服务器,它们不是我的页面。以下是一个示例链接:Click Me!
稍微澄清一下......我想要镜像大约100个页面(许多来自慢速服务器),我将在Solaris 10上完成工作并将结果每小时转移到一个samba mount for people查看。并且,是的,我显然已经尝试了几个不同的标志wget但我没有得到我正在寻找的结果。 所以,指向GNU wget页面并没有多大帮助。让我从一个简单的例子开始。
wget --mirror -w 2 -p --html-extension --tries=3 -k -P stackperl.html "https://stackoverflow.com/tags/perl"
从这里,我应该看到stackper.html文件中的https://stackoverflow.com/tags/perl页面,如果我的标记正确的话。
答案 0 :(得分:7)
如果您只想运行命令并获取网站副本,请使用其他人建议的工具,例如wget,curl或某些GUI工具。我使用自己的个人工具,我称之为webreaper(这不是Windows WebReaper。我知道一些Perl程序,包括webmirror和其他一些你可以找到的程序CPAN
如果您希望在正在编写的Perl程序中执行此操作(因为您的答案中包含“perl”标记),CPAN中有许多工具可以帮助您完成每个步骤:
祝你好运,:))
答案 1 :(得分:4)
对于HTML版本的网站,您可以使用WinHTTrack - 一个免费的开源GPL程序。它将下拉您的页面,图形,文档,zip文件,电影等的预渲染版本......当然,由于这是一个镜像副本,任何动态后端代码(如数据库调用)都不再是动态的。< / p>
答案 2 :(得分:3)
就个人而言,上次我有这样的冲动,我写了一个python脚本,它制作了我的浏览器缓存的副本,然后手动访问了我想要镜像的所有页面。一个非常丑陋的解决方案,但它具有不触发任何“不刮我的页面”警报的好处。感谢Opera的链接标签栏,“手动”下载数万页并不像您想象的那么难。
答案 3 :(得分:2)
我使用WebReaper
答案 4 :(得分:2)
我会回应“不清楚”的评论。您创建的这些网页/网站是否要在多台服务器上部署?如果是这样,请在HTML中使用相对引用,您应该没问题。或者,在您的网站上使用a并在每个网站上进行调整。但是,相对论真的是要走的路。
或者,您是说要下载网站(如Stack Overflow主页,perl.com等)以在您的计算机上安装本地副本?我同意丹尼尔 - 使用wget。
吉姆
答案 5 :(得分:2)
您可以使用wget gnu工具抓取整个网站:
wget -r -p -np -k URL
或者,如果您使用perl,请尝试以下模块:
LWP ::简单
WWW ::机械化
答案 6 :(得分:0)
如果wget很复杂,或者你没有linuxbox,你可以随时使用WebZip
答案 7 :(得分:0)
听起来你想要一个好的代理服务器提供的缓存功能。
也许看看像SQUID这样的东西?很确定它可以做到。
这更像是一个系统管理员类型的问题,而不是编程。
答案 8 :(得分:-1)
在大多数现代网站中,前端只讲述了故事的一小部分。无论用于剥离html,css和javascript的工具如何,您仍将缺少服务器中包含的核心功能。
或者你可能意味着别的东西。