【发布时间】:2023-03-21 18:39:01
【问题描述】:
我正在审核我们现有的 Web 应用程序,它大量使用了HTML frames。我想下载每一帧中的所有 HTML,有没有办法用wget 或一点点脚本来做到这一点?
【问题讨论】:
我正在审核我们现有的 Web 应用程序,它大量使用了HTML frames。我想下载每一帧中的所有 HTML,有没有办法用wget 或一点点脚本来做到这一点?
【问题讨论】:
作为史蒂夫回答的补充:
跨越到任何主机——‘-H’
“-H”选项打开主机跨越,从而允许 Wget 的递归运行访问链接引用的任何主机。除非应用了足够的递归限制标准,否则这些外部主机通常会链接到更多主机,依此类推,直到 Wget 最终吸收的数据比您预期的要多得多。
限制跨越到某些域——‘-D’
“-D”选项允许您指定将遵循的域,从而将递归仅限于属于这些域的主机。显然,这仅在与“-H”结合使用时才有意义。
一个典型的例子是下载“www.server.com”的内容,但允许从“images.server.com”等下载:
wget -rH -Dserver.com http://www.server.com/
您可以指定多个地址,用逗号分隔,
例如'-Ddomain1.com,domain2.com'。
取自:wget manual
【讨论】:
wget --recursive --domains=www.mysite.com http://www.mysite.com
这表示递归爬取也应该遍历到框架和 iframe。请注意将递归范围仅限于您的网站,因为您可能不想抓取整个网络。
【讨论】:
wget 有一个 -r 选项可以使其递归,尝试 wget -r -l1 (以防字体难以阅读:最后一部分是小写 L 后跟一个数字一) -l1 部分告诉它递归到最大深度 1。尝试使用这个数字来抓取更多。
【讨论】: