【问题标题】:Scrape multi-frame website抓取多框架网站
【发布时间】:2023-03-21 18:39:01
【问题描述】:

我正在审核我们现有的 Web 应用程序,它大量使用了HTML frames。我想下载每一帧中的所有 HTML,有没有办法用wget 或一点点脚本来做到这一点?

【问题讨论】:

    标签: html wget frames


    【解决方案1】:

    作为史蒂夫回答的补充:

    跨越到任何主机——‘-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

    【讨论】:

      【解决方案2】:
      wget --recursive --domains=www.mysite.com http://www.mysite.com
      

      这表示递归爬取也应该遍历到框架和 iframe。请注意将递归范围仅限于您的网站,因为您可能不想抓取整个网络。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-07
          • 1970-01-01
          • 2011-09-13
          • 2020-06-27
          • 2019-11-16
          相关资源
          最近更新 更多