是否可以向 wget 添加某种挂钩来预处理返回的 HTML?

是否可以向 wget 添加某种挂钩来预处理返回的 HTML?

我想镜像我的一个网站。

不幸的是,该网站在其预览模式,并且必须将 GET 参数附加到页面中的所有 URL,以便页面继续处于预览模式。

此 GET 参数是通过 JavaScript 添加的。显然,这并不影响wget

有没有办法可以将返回的 HTML 发送到脚本,以便在wget尝试抓取所有 URL 之前自己添加这些内容?

答案1

你的问题不是很清楚。我的理解是:

  • 您正在递归地检索网页;
  • 您的页面包含内部链接;
  • 点击这些链接将导致一个不存在的页面,并且您希望重写每个链接以向 HTTP 请求添加额外的参数。

我认为你不能用 wget 做到这一点。我建议使用轻量级水压反而。它带有一个名为lwp-rget执行递归检索。有一条线

my $req = HTTP::Request->new(GET => $url);

就在这一行之前,添加一些代码来破坏网址酌情,类似

$url->query_form($url->query_form, "show_preview" => "yes");

相关内容