我需要通过HTTP翻录网站。我需要下载图像,HTML,CSS和JavaScript并将其组织在文件系统中。
有谁知道如何做到这一点?
我需要通过HTTP翻录网站。我需要下载图像,HTML,CSS和JavaScript并将其组织在文件系统中。
有谁知道如何做到这一点?
Answers:
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com
这在控制台中运行。
这将抢占一个网站,在两次请求之间等待3秒钟,限制其下载速度,以使其不会杀死该网站,并对其进行掩盖,使其看起来像只是一个浏览器,因此该网站不会切断您的访问权限使用防水mechanism机制。
注意,该-A
参数指示您要下载的文件类型的列表。
您也可以使用另一个标记,-D domain1.com,domain2.com
以指示要下载的一系列域,如果它们具有其他服务器或用于承载不同类型文件的文件。如果没有文件,就没有一种安全的方法可以在所有情况下实现自动化。
wget
通常在Linux上预先安装,但可以轻松地为其他Unix系统编译,也可以为Windows轻松下载:GNUwin32 WGET
用它来造福而不是邪恶。
在Linux系统上,“ wget”几乎可以做到这一点。
正如其他答案中提到的,它也已移植到其他几个平台。
您需要使用wget-大多数平台都可用。curl不会递归地请求文档,这是wget的主要优势之一。
Linux的:(通常包含在发行版)http://www.gnu.org/software/wget/
的Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
苹果:HTTP://www.geekology。 co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/
请确保您没有锤打网站-在请求之间设置适当的延迟时间,并确保它在网站的服务范围内。
-亚当
实际上,按照我在GWLlosa帖子中的评论,我只记得我已经安装了GnuWin32,并且确定它包含Windows的wget端口。
http://sourceforge.net/projects/gnuwin32/
GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP
几年前我用过,效果很好。仅Windows。曾经是广告软件,但显然不再:
wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com
-p
:参数告诉wget包括所有文件,包括图像。-e robots=off
:忽略网站robots.txt规则-U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
:用户代理字符串--random-wait
:避免被列入黑名单--limit-rate=20k
:限制下载文件的速率。-b
:注销后继续wget。
-c
(或--continue
)选项,并且必须重新启动该过程。
我认为IDM网站抓取工具是最好的解决方案,此外还有Teleport pro