刮多帧网站

时间:2008-09-22 19:04:39

标签: html wget frames

我正在审核现有的网络应用程序,这会大量使用HTML frames。我想在每个框架中下载所有HTML,是否有使用wget或一些脚本执行此操作的方法?

3 个答案:

答案 0 :(得分:6)

作为史蒂夫答案的补充:

跨越任何主机-'- H'

'-H'选项打开主机跨越,从而允许Wget的递归运行访问链接引用的任何主机。除非应用足够的递归限制标准深度,否则这些外部主机通常会链接到更多主机,依此类推,直到Wget最终吸收的数据超出您的预期。

限制跨越某些领域-'- D'

'-D'选项允许您指定将遵循的域,从而将递归限制为仅属于这些域的主机。显然,这只有与'-H'结合才有意义。

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

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

您可以使用逗号分隔多个地址

e.g。 “-Ddomain1.com,domain2.com”。

取自:wget manual

答案 1 :(得分:1)

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

这表明递归爬网也应该遍历帧和iframe。请谨慎将递归范围仅限于您的网站,因为您可能不想抓取整个网站。

答案 2 :(得分:1)

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