2008-09-22 67 views
3

我正在审计我们现有的网络应用程序,这使得大量使用HTML frames。我想在每个框架中下载所有的HTML,有没有一种方法可以用wget或者一些脚本来做到这一点?刮多框架网站

回答

6

为除了史蒂夫的回答是:

跨度到任何主机-'- H”

的‘-H’选项打开主机跨越,从而使Wget的的递归运行访问被引用的任何主机一条链接。除非有足够的递归限制标准适用于深度,否则这些外部主机通常会链接到更多的主机,等等,直到Wget最终吸收比您预期更多的数据。

限制跨越到某些域-'- d”

的‘-D’选项允许你指定将接踵而至,从而限制了递归只有属于这些域的主机的域。显然,这只有与'-H'结合才有意义。

一个典型的例子是下载的“www.server.com”的内容,但允许下载从“images.server.com”等:

 wget -rH -Dserver.com http://www.server.com/ 

您可以指定多个地址用逗号分隔它们,

eg “-Ddomain1.com,domain2.com”。

摘自:wget manual

1
wget --recursive --domains=www.mysite.com http://www.mysite.com 

这表明递归爬网还应该遍历帧和iframe。由于您可能不想抓取整个网络,因此请小心将递归范围限制在您的网站上。

1

wget的有-r选项,使之递归,尝试wget的-r -l1(如果字体使得它难以阅读:那最后部分是L的小写然后是第一个) -l1部分告诉它递归到1的最大深度。尝试使用这个数字来刮擦更多。