如何从网站上下载所有页面?

任何平台都可以。

评论

在Server Fault上查看serverfault.com/questions/45096/website-backup-and-download。

@tnorthcutt,我也很惊讶。如果我不记得很严重的错误,我的Wget答案曾经是被接受的答案,这看起来像是已解决的事情。不过,我并不是在抱怨-突然间,重新获得的关注给了我比赏金代表更大的价值。 :P

您尝试IDM吗? superuser.com/questions/14403/…我的帖子被埋没了。您发现IDM中缺少什么?

@joe:如果您要提供有关缺少的功能的详细信息,可能会有所帮助...

Browse-offline.com可以下载网站的完整目录,因此您可以...离线浏览它

#1 楼

HTTRACK就像一个冠军,可以复制整个站点的内容。该工具甚至可以抓取使具有活动代码内容的网站脱机工作所需的内容。我很惊讶它可以离线复制。

该程序可以满足您的所有需求。

狩猎愉快!

评论


已经使用了多年-强烈建议。

–琥珀色套圈
09年8月9日在20:38

这样是否会复制在服务器上运行的实际ASP代码?

– Taptronic
2010-3-19在13:02

@最佳解决方案:不,那不可能。您需要访问服务器或源代码。

– Sasha Chedygov
2010-3-31在7:08

在为具有授权的站点尝试httrack和wget之后,我不得不倾向于wget。在这种情况下,httrack无法工作。

–狮子座
2012年5月18日上午11:55

身份验证有哪些选择?

– Vincent Mathew
13年5月28日在18:03

#2 楼

Wget是用于此类任务的经典命令行工具。它随大多数Unix / Linux系统一起提供,您也可以在Windows上获得它。在Mac上,Homebrew是安装它的最简单方法(brew install wget)。

您将执行以下操作:

wget -r --no-parent http://site.com/songs/


有关更多信息详细信息,请参见《 Wget手册》及其示例,例如这些:


wget:轻松下载整个网站
Wget示例和脚本


评论


没有比这更好的答案了-wget可以做任何事情:3

– Ph子
09-09-16 22:30

+1(包括--no-parent)。绝对使用--mirror而不是-r。并且您可能希望包含-L /-relative,以免跟随指向其他服务器的链接。

–嘎嘎吉qua德
09-10-9在12:43

正如我也要求httrack.com一样-此cmd线工具将获取ASP代码还是仅获取HTML呈现?我必须尝试这个。如果这样做的话,这可能会给开发人员带来烦恼...

– Taptronic
2010-3-19在13:04

@optimal,当然是HTML输出-仅当服务器配置错误时,它才会获取代码

– Jonik
10 Mar 19 '10在15:17

不幸的是,它对我不起作用-指向css文件的链接存在问题,它们未更改为相对文件,即,您可以在文件中看到以下内容:在本地不能很好地工作,除非有人试图欺骗Firefox认为某个目录是根目录。

–gorn
2012年7月27日在0:42

#3 楼

使用wget:
wget -m -p -E -k www.example.com

选项说明:
-m, --mirror            Turns on recursion and time-stamping, sets infinite 
                          recursion depth, and keeps FTP directory listings.
-p, --page-requisites   Get all images, etc. needed to display HTML page.
-E, --adjust-extension  Save HTML/CSS files with .html/.css extensions.
-k, --convert-links     Make links in downloaded HTML point to local files.
-np, --no-parent        Don't ascend to the parent directory when retrieving 
                        recursively. This guarantees that only the files below 
                        a certain hierarchy will be downloaded. Requires a slash 
                        at the end of the directory, e.g. example.com/foo/.


评论


+1用于提供建议选项的说明。 (尽管我不认为--mirror是非常不言自明的。这来自手册页:“此选项启用递归和时间戳记,设置无限递归深度并保留FTP目录列表。当前等效于-r -N -l inf --no-remove-listing”)

–伊拉里(Ilari Kajaste)
09-09-23 at 11:04

如果您不想将所有内容下载到要镜像的域的名称的文件夹中,请创建自己的文件夹,然后使用-nH选项(跳过主机部分)。

–拉斐尔·布加杰夫斯基(Rafael Bugajewski)
2012年1月3日15:33

如果需要验证怎么办?

–Val
13年5月13日在16:04

我尝试使用您的wget --mirror -p --html-extension --convert-links www.example.com,它只是下载了索引。我认为您需要-r来下载整个站点。

–埃里克·布鲁克托(Eric Brotto)
14年7月14日在10:49

对于那些担心因流量/过多请求而杀死站点的用户,请使用-w秒(在请求之间等待若干秒,或--limit-rate = amount来指定下载时使用的最大带宽

– vlad-ardelean
14年7月14日在18:33

#4 楼

您应该看看Firefox扩展ScrapBook。它具有深度捕获模式。



评论


版本57(Quantum)之后不再与Firefox兼容。

–是
18年4月16日在22:31

似乎它不再可用。

–vchrizz
10月6日1:24

#5 楼

Internet Download Manager的Site Grabber实用程序具有很多选项-可让您以所需的方式完全下载所需的任何网站。


您可以设置大小限制要下载的页面/文件中的
您可以设置要访问的分支站点的数量
您可以更改脚本/弹出窗口/副本的行为方式
您可以指定一个域,仅在该域下符合要求的所有页面/文件都将被下载
可以将链接转换为脱机链接进行浏览
您可以使用模板来选择上述设置



该软件不是免费的-请查看软件是否符合您的需要,使用评估版。

#6 楼

我喜欢离线浏览器。
这是一个共享软件,但非常好用,易于使用。

评论


Windows软件非常好,而且非常易于使用,在共享软件模式下,它最多可以下载2000个文件,对于小型网站来说已经足够。

–vchrizz
10月6日1:23

#7 楼

itsucks-这是程序的名称!

评论


可惜但该程序还是名称;)-我无法使用它来下载网站。

–vchrizz
10月6日1:31

#8 楼

我将介绍浏览器使用的在线缓冲...

通常,大多数浏览器都使用浏览缓存将您从网站下载的文件保留一段时间,以便您不必静态下载。图像和内容一遍又一遍。在某些情况下,这可以大大加快速度。一般而言,大多数浏览器缓存都被限制为固定大小,当达到该限制时,它将删除缓存中最旧的文件。如ESPN和CNN。这样可以避免他们每次网络上的某人访问这些站点时都需要访问这些站点的麻烦。这可以节省大量重复发送到ISP外部站点的请求。

#9 楼

Teleport Pro是另一个免费的解决方案,它将从目标位置复制任何文件和所有文件(还有付费版本,使您可以提取更多页面的内容)。

#10 楼

WebZip也是一个很好的产品。

评论


链接导致错误403-此Web应用程序已停止。

–vchrizz
10月6日1:22

#11 楼

我已经很多年没有这样做了,但是仍然有一些实用程序。
您可能想尝试Web Snake。
我相信几年前就使用过它。当我阅读您的问题时,我马上就想起了这个名字。

我同意Stecy的观点。请不要锤打他们的网站。非常糟糕。

评论


真好!我搜索Snake已有20多年了,但根本找不到它,尽管我记得它是免费的。我记得(或想相信)它比后来在论坛或网络搜索引擎上建议的主要下载程序中的版本要好得多。以上提到的OfflineExplorer。此后,免费版本以某种方式停止正常工作。 (但我完全了解程序员。)

–约翰
19年11月27日在1:22

#12 楼

尝试BackStreet浏览器。


这是一个免费的,功能强大的脱机浏览器。高速,多线程的网站下载和查看程序。通过同时发出多个
服务器请求,BackStreet Browser可以快速下载整个
网站或网站的一部分,包括HTML,图形,Java Applet,
声音和其他用户可定义的文件,并保存所有
硬盘中的文件,可以是其原始格式,也可以是压缩的ZIP文件。
并可以脱机查看。

#13 楼

DownThemAll是Firefox的附加组件,单击即可下载特定网页的所有内容(例如,音频或视频文件)。这不会下载整个站点,但这可能是问题正在寻找的东西。

评论


它仅能下载链接(HTML)和媒体(图像)。

– Ain
17年9月26日在17:07

#14 楼

对于Linux和OS X:我编写了用于将整个网站归档到WARC文件的抓取站点。这些WARC文件可以浏览或提取。抓取站点使您可以使用正则表达式控制要跳过的URL,并且在爬网运行时可以更改这些URL。它还具有用于忽略垃圾URL的广泛的默认设置。

有一个Web仪表板,用于监视爬网,以及用于跳过视频内容或超过一定大小的响应的其他选项。 >

#15 楼

强大的wget

虽然已经提到了wget,但该资源和命令行是如此无缝,我认为值得一提:
wget -P /path/to/destination/directory/ -mpck --user-agent="" -e robots=off --wait 1 -E https://www.example.com/

请参见在explainshell上解释的这段代码
/>

#16 楼

久负盛名的FreeDownloadManager.org也具有此功能。
免费下载管理器具有两种形式的两种形式:Site Explorer和Site Spider:

Site Explorer
Site Explorer可让您查看
网站的文件夹结构,并轻松下载必要的文件或文件夹。 HTML Spider
您可以使用HTML
Spider下载整个网页,甚至整个网站。可以调整该工具以仅下载具有指定扩展名的文件。

我发现,在尝试下载整个网站之前,Site Explorer有助于查看要包含/排除的文件夹-特别是例如,当您不想下载的站点中隐藏了整个论坛时。

#17 楼

保存页面WE

Chrome和Firefox的出色扩展程序,可下载大部分/全部网页内容并将其直接存储到.html文件中。

Google Chrome扩展
Firefox扩展

我注意到,在我尝试过的图片页面上,它保存了缩略图,但没有保存缩略图图片。或者也许不是用JavaScript打开缩略图的完整图片。

但是,它比wget,PDF等效果更好。满足大多数人需求的简便解决方案。

#18 楼

您可以使用下面的免费在线工具,该工具将为该url中包含的所有内容创建一个zip文件。



http://web2zip.com/
https: //www6.waybackmachinedownloader.com/website-downloader-online/


#19 楼

Cyotek WebCopy似乎也是不错的选择。
对于我来说,尝试下载DokuWiki站点时,目前似乎缺乏对CSRF / SecurityToken的支持。上面已经在回答了。

#20 楼

Windows和Mac的A1网站下载是另一个选择。该工具已经存在了近15年,并且一直在不断更新。它具有单独的爬网和下载筛选选项,每种支持模式都匹配“限制为”和“排除”。

#21 楼

下载HTTracker,它将下载非常简单的网站步骤。

下载链接:http://www.httrack.com/page/2/

视频可能会有所帮助您:https://www.youtube.com/watch?v = 7IHIGf6lcL4

评论


-1个最佳答案的重复项

– wjandrea
17 Sep 24'7:28



#22 楼

Firefox可以本机运行(至少FF 42可以)。只需使用“保存页面”



评论


错误!该问题询问如何保存整个网站。 Firefox无法做到这一点。

–user477799
16年7月26日在6:24

您的方法仅在网站为一页的情况下才有效,但是如果该网站有699页?会很累的...

– Quidam
16 Dec 15'在7:03

#23 楼

我相信google chrome可以在桌面设备上执行此操作,只需转到浏览器菜单并单击“保存网页”即可。 。

最后请注意,复制网站内容可能会侵犯版权(如果适用)。

评论


浏览器中的网页只是一个网站中的一个。

– Arjan
15年5月16日在20:05

@Arjan我想这使我的选择很费力。我相信人们只想保存一页的情况比较普遍,因此对于那些来此的人们来说,此答案可能会更好。

– Jiggunjer
2015年5月17日上午10:10