与 Firefox 等效的递归下载 (`wget -r`)?

与 Firefox 等效的递归下载 (`wget -r`)?

我有一个网站,我想下载该网站内的所有页面/链接。我想wget -r在这个 URL 上执行操作。没有任何链接超出这个特定目录,所以我不担心下载整个互联网。

事实证明,我想要的页面位于网站受密码保护的部分后面。虽然我可以使用 wget 手动进行 cookie 协商,但对我来说,从浏览器“登录”并使用一些 Firefox 插件递归下载所有内容会容易得多。

有没有扩展程序或其他东西可以让我这样做?许多扩展程序专注于从页面获取媒体/图片(呵呵),但我对所有内容都感兴趣 - HTML 和所有内容。

有什么建议吗?

谢谢!

编辑

DownThemAll 似乎是一个很酷的建议。它能做到吗递归下载?例如,下载页面上的所有链接,然后下载每个页面中包含的所有链接,等等?这样我基本上可以通过跟踪链接来镜像整个目录树?有点像-r选项wget

答案1

DownThemAll 不进行递归下载。它只从当前页面抓取链接。只下载链接 URL 的 HTML 页面。不下载链接页面的图像和媒体。

答案2

蜘蛛侠旨在实现这一点——但它有点老了(2006 年)。
它基于HTTrack 网站复制器
其中有更新版本适用于所有平台。

还有另一个较旧的插件它能够让你插入' wget'本身(以及其它东西)。

不过,我也觉得 DownThemAll 可能是一个不错的选择。
如果你知道要镜像什么,选择正确的链接应该不成问题。
而且,你随时可以勾选“全部”复选框。

因此,+1,对于全部击倒如果你想坚持使用浏览器。
并且,使用HT轨道如果你想要一个独立的工具(和获得不太方便)。

更新:你可能还想看看 HTTrack 对这个赏金问题的投票,
如何下载整个网站

答案3

您可以使用wget -r授权后提取的浏览器 cookie。

Firefox 在 Web 开发人员工具的网络选项卡中的页面请求的上下文菜单中有“复制为 cURL”选项,热键 Ctrl+Shift+Q(打开工具后可能需要重新加载页面): 截屏

将 curl 的标头标志替换-H为 wget 的--header,这样您就拥有了所有需要的标头(包括 cookie),以便继续使用 wget 进行浏览器会话。

相关内容