如何下载非公开的Google网站?

时间:2020-05-29 15:05:06

标签: cookies oauth wget google-sites-2016

我想下载只能通过登录Google才能访问的Google网站所有页面的HTML。 Google未为新的Google协作平台(source)提供API。使事情复杂化的是,我的Google登录要求2SV

我尝试在Firefox中进行身份验证,通过Firefox扩展cookies.txt保存我的cookie,然后使用wget:

wget \
    --load-cookies=cookies.txt \
    --no-host-directories \
    --no-directories \
    --recursive \
    --accept '*.html' \
    https://sites.google.com/a/example.com/the-website-i-need/

结果只是一个Google登录页面。

我还通过cliget plugin在Firefox中进行了尝试,该命令可以生成与Firefox所做的下载等效的wget命令。我的想法是将递归选项添加到生成的命令中。但是,即使将Google Site的根页面保存为.html文件,该插件也仅报告“此会话没有下载”。然后,我开始从Google网站下载PDF文件,但确实触发了cliget插件。但是,产生的wget命令产生了302 Moved Temporarily,wget忠实地遵循了该命令,但是重复了这一过程,直到最后wget放弃了20 redirections exceeded

这可以通过OAuth或其他身份验证方法完成吗?

相关:Accessing a non-Public Google Sites page using curl + Bearer Token

1 个答案:

答案 0 :(得分:0)

我终于找到了一种方法。通过Google Takeout(理论上),您可以下载所有Google数据,包括Google站点。

有一些限制:。

  • 由于未知原因,它不适用于传统的Google协作平台。数据根本不在Google提供的下载文件中,即使Google表示支持。这可能是一个错误。在新的Google协作平台上效果很好。
  • 据我所知,没有自动的方法可以做到这一点。您必须完成Google Takeout步骤。但是,对于一次性出口,这应该不是问题。
  • 如果您使用的是Google G Suite,则您的管理员可能已禁用了Google Takeout。尝试一下,但是如果显示“您没有启用可以导出数据的服务”,则需要与G Suite管理员一起使用。

简短版本

  • 在Google云端硬盘中,将您的Google Site移至顶级文件夹
  • 转到https://takeout.google.com/
  • 在Google云端硬盘下,选择上方使用的文件夹
  • 导出

详细版本

相关问题