【问题标题】:Script to download Google web history用于下载 Google 网络历史记录的脚本
【发布时间】:2012-01-09 23:05:28
【问题描述】:

如何编写脚本来下载自己的 Google 网络历史记录?

我知道

https://www.google.com/history/

https://www.google.com/history/lookup?hl=en&authuser=0&max=1326122791634447

供稿:https://www.google.com/history/lookup?month=1&day=9&yr=2011&output=rss

但它们在以编程方式而不是通过浏览器调用时会失败。

【问题讨论】:

    标签: google-search-api


    【解决方案1】:

    我写了一篇关于如何使用我放在一起的脚本download your entire Google Web History 的博客文章。

    这一切都可以直接在客户端的网络浏览器中运行(即没有数据传输给第三方),您可以将其下载到 CSV 文件中。你可以在这里查看源代码:

    http://geeklad.com/tools/google-history/google-history.js

    我的博客文章有一个书签,您可以使用它轻松启动脚本。它通过访问相同的提要来工作,但执行一次读取整个历史 1000 条记录的迭代,将其转换为 CSV 字符串,然后只需按一下按钮即可下载数据。

    我根据自己的历史记录运行它,并成功下载了超过 130K 记录,导出为 CSV 时大约为 30MB。

    编辑使用我的脚本的 fok 的数量似乎遇到了问题,可能是由于他们的历史数据中存在一些奇怪的问题。不幸的是,由于脚本在浏览器中完成所有操作,因此当它遇到破坏它的历史时,我无法调试它。如果您是 JavaScript 开发人员,请使用我的脚本,看来您的历史已经导致它崩溃了;请随时帮我修复它并向我发送任何代码更新。

    【讨论】:

    • GeekLad 的网站已变为 404。有人有替代解决方案吗?
    【解决方案2】:

    我尝试了 GeekLad 的系统,不幸的是发生了两个重大更改 #1 URL 已更改(我修改并托管了我自己的副本,导致 #2 type=rss 参数不再有效。

    我只需要时间戳...所以开始了我一段时间以来写的最好/最差的 hack。

    第 1 步 - https://stackoverflow.com/a/3177718/9908 - 使用 chrome 禁用所有安全协议。

    第 2 步 - https://gist.github.com/devdave/22b578d562a0dc1a8303

    使用 contentscript.js 和 manifest.json,制作一个 chrome 扩展,在本地托管 ransack.js 到您想要的任何服务(PHP、Ruby、Python 等)。在开发者模式下安装你的 contentscript 扩展后转到https://history.google.com/history/(解压)。它会自动将 ransack.js + jQuery 注入 dom,收集数据,然后转到下一个“稍后”链接。

    每 60 秒,Google 会强制您随机重新登录,因此这不是一个开始并离开的过程,但它确实有效,如果他们加大了混淆的赌注,您总是可以诉诸链接 Ajax 调用并发送页面返回后端进行后期处理。全力以赴,我的可憎脚本每秒收集一页数据。

    出于道德原因,我不会帮助任何人修改此脚本以获取搜索字词和结果,因为此过程不受 Google 的批准(尽管显然没有被阻止),并且仅将其推荐给有足够积极性以使其适合他们的个人。据我估计,每 900 毫秒或更快地获取 9 年的所有数据(9 万条记录)@ 1 页需要 3-4 小时。

    当这件事发生时,不要浏览网页的其余部分,因为 Chrome 正在运行时没有适当的保护措施,其中大多数存在是有原因的。

    【讨论】:

      【解决方案3】:

      可以直接从谷歌下载她的搜索日志(如果使用脚本下载不是主要目的),

      步骤:

      1) 登录并转到https://history.google.com/history/

      2) 在您的个人资料图片徽标下方右侧,您可以找到一个设置图标。请参阅名为“下载”的第二个选项。点击那个。

      3) 然后点击“创建存档”,Google 会在几分钟内将日志邮寄给您。

      【讨论】:

        【解决方案4】:

        也许在发出获取提要的请求之前,脚本应该添加一个知名浏览器的User-Agent HTTP 标头,以便 Google 确定请求来自该浏览器。

        【讨论】:

        • Mozilla 4.0 的 user agent 值应如下所示 Mozilla/5.0 (Windows; I; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20100101 Firefox/4.0
        • 需要使用id/password进行认证。如何从脚本中完成?
        • 您可以使用浏览器手动登录。 Google 会将您的身份验证信息存储在 cookie 中,以记住您的登录信息。您应该在脚本中的请求标头中找到并包含此 cookie 信息。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多