Google Photos是我最爱的Google服务之一,它让我能把所有手机拍摄的图片、视频都保存到云端从而解放我手机的存储空间。上传之后,我还可以在电脑上的浏览器或移动设备的应用程序上按需要浏览和下载。而且因为我用的是 Pixel 手机可以上传原始尺寸也不算空间,因此我经常还会把单反相机拍的照片拷贝到手机中再上传来保证画质。
不过这一便捷性是建立在几个重要基础上的:好的网络;可以访问Google服务。去年年底回中国就碰到了无法使用Google Photos尴尬:Google被墙,VPN访问慢。那一刻让我深切感觉到还是本地的内容访问比较快。
于是回来的第一件事情就是想办法下载所有Google Photos里的备份到我的5TB的移动硬盘里。这样万一以后再配到类似的事情,或者Google Photos崩了,我还能找到过去的回忆。
从2014年开始用Google Photos到现在,我存了差不多100GB的照片,而Google Photos浏览页上一次最多只能下载500张照片。要想用愚公移山的方式去完成这任务,恐怕真的是子子孙孙无穷尽也。
好在Google的账号允许拥有者下载其在Google服务上使用的所有数据,其中也包括Google Photos:https://takeout.google.com/
勾选Google Photos之后还可以点击打开列表来选择想要下载的文件夹(按“上传日期”和“自建相册名”分)
然后在该页最后点击下一步进入压缩文档格式选择页面,最好选择大尺寸的文件,不然多个文件下载起来还是很麻烦的。
另一方面,我又想到个问题:以后我再来下载不是还会把之前下载过得又打包下载了一遍。于是我希望按年份来分组下载备份。可惜内容选择页面上没有提供过滤的方式让只勾选特定年份的选项,点击几百次来选中特定年份又不实际。
于是乎,我拿出所剩不多的JavaScript技能写了一段脚本来全选特定年份的图片文件夹:
[codesyntax lang=”javascript” lines=”normal”]
$0.querySelectorAll(':scope > div').forEach(function(option) { if (option.querySelector('label').textContent.startsWith('2015-')) { option.querySelector('input').click() } })
[/codesyntax]
打开浏览器的开发者工具(Developer Tools)窗口,找到并选择包含所有选项框的html元素,再到指令控制台输入上边那段代码,就能完成想要的选择结果了。
以后只要根据实际需求来修改 if 里的条件来下载特定的年份或者自定义相册就可以了。
1 Comment