如何编写脚本来下载Google的网络历史记录?
我知道
https://www.google.com/history/
https://www.google.com/history/lookup?hl=en&authuser=0&max=1326122791634447
饲料:HTTPS:?//www.google.com/history/lookup一个月= 1和天= 9&安培;年= 2011&安培;输出= RSS
但是在以编程方式而不是通过浏览器调用时它们会失败。
答案 0 :(得分:8)
我写了一篇关于如何download your entire Google Web History使用我放在一起的脚本的博客文章。
这一切都直接在客户端的Web浏览器中工作(即没有数据传输到第三方),您可以将其下载到CSV文件。您可以在此处查看源代码:
http://geeklad.com/tools/google-history/google-history.js
我的博文中有一个可以用来轻松启动脚本的书签。它的工作原理是访问相同的Feed,但执行迭代,一次读取整个历史记录1000条记录,将其转换为CSV字符串,并只需按一下按钮即可下载数据。
我根据自己的历史记录,并成功下载了超过130K的记录,当导出为CSV时,这些记录大约为30MB。
编辑 :似乎使用我的脚本的fok数量已经遇到问题,可能是由于他们的历史数据中有些奇怪。不幸的是,由于脚本在浏览器中执行所有操作,因此在遇到破坏它的历史记录时,我无法对其进行调试。如果您是JavaScript开发人员,请使用我的脚本,看起来您的历史记录已导致其中断;请随时帮我修复它并向我发送代码更新。
答案 1 :(得分:1)
我尝试过GeekLad的系统,遗憾的是发生了两次重大更改#1 URL已更改(我修改并托管了我自己的副本,导致#2 type = rss参数不再有效。
我只需要时间戳...所以我开始写了一段时间内最好/最差的黑客。
第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等)。在开发人员模式(解压缩)中安装内容脚本扩展后转到https://history.google.com/history/。它会自动将ransack.js + jQuery注入dom,收集数据,然后转到下一个“Later”链接。
每60秒,Google会强制您重新登录,因此这不是一个开始和走开的过程但它确实有效,如果他们提出了obfustication赌注,您总是可以通过链接Ajax调用并发送页面回到后端进行后期处理。在完全倾斜时,我的憎恶脚本每秒收集1页数据。
基于道德原因,我不会帮助任何人修改此脚本以获取搜索条件和结果,因为此过程不会被Google批准(虽然没有明显阻止),并且仅建议充分激励的个人使其适用于他们。根据我的估计,我花了3-4个小时才能获得所有9年的数据(90K记录)@ 900页每900毫秒或更快。
虽然这件事情已经发生,但不要浏览网页的其余部分,因为Chrome运行时没有安全措施,其中大多数存在是出于某种原因。
答案 2 :(得分:1)
可以直接从Google下载她的搜索日志(如果使用脚本下载它不是主要用途),
步骤:
1)登录并转到https://history.google.com/history/
2)在您的个人资料图片徽标下方,您可以在右侧找到设置图标。请参阅名为"下载"的第二个选项。点击它。
3)然后点击"创建存档"然后Google会在几分钟内将日志邮寄给您。
答案 3 :(得分:0)
可能在发出获取Feed的请求之前,脚本shuld添加一个众所周知的浏览器的User-Agent
HTTP标头,以便Google决定该请求来自该浏览器。