关于如何批量导出扣扣相册中的原图
以前拍的照片都是放在扣扣相册里存储,时间一长,手机上的图片可能被删了或者找不到了,想要再次回看以前拍的照片只能在扣扣相册里查看了。扣扣相册加载速度慢,想看原图还得点一下,于是就想着把扣扣相册里的图片全部下载下来。但是官方并没有提供批量下载功能,于是只能自己想办法。
分析扣扣相册接口
首先我们打开浏览器控制台访问扣扣相册,通过分析network的请求信息拿到查询相册的接口,经过分析,很容易看出获取相册信息的接口就是
``
知道接口后我们就可以多请求几次看看他的入参都有什么。
这里我们可以敏锐的察觉到每次滑动滚轮时这两个参数会发生变化,熟悉前端可能一眼就能看出来这两个字段是干什么的,没错,他们就是分页查询所必须的字段,这里为了性能,扣扣相册做了懒加载,每次只查询少量数据,那么到了我们手上,直接改到最大就行。
改造完成的新请求地址就是https://h5.qzone.qq.com/proxy/domain/photo.qzone.qq.com/fcgi-bin/cgi_list_photo?g_tk=2049926948&callback=shine1_Callback&t=526035209&mode=0&idcNum=4&hostUin=1285707427&topicId=V13wm3H421GnLH&noTopic=0&uin=1285707427&pageStart=0&pageNum=99999&skipCmtCount=0&singleurl=1&batchId=¬ice=0&appid=4&inCharset=utf-8&outCharset=utf-8&source=qzone&plat=qzone&outstyle=json&format=jsonp&json_esc=1&callbackFun=shine1&_=1630773371560
注意,pageStart=0表示从0开始查询,pageNum=99999表示查询99999条数据。而且每个相册的请求参数都是不同的,其他参数不要照抄。
好的,现在直接将连接丢到浏览器中看看。
现在我们已经拿到相册数据了,那么开始下一步。
解析原图的链接
拿到数据后我们需要知道哪个字段存储的是原图信息,首先我们随便找一张图打开,选择查看原图,
不出意外会跳转到一个新的浏览器tab,这时候地址栏里的就是原图链接,可以发现原图都是http://r.photo.store.qq.com/的地址。
再看看我们拿到的数据里,只有row这个字段符合要求,所以他就是原图链接
数据格式化
拿到数据后我还需要进行数据格式化,这一步因人而异,怎么方便怎么来,最终目的是格式化成下载器能识别的路径。
格式化完成后就是一串换行风格的链接文件
下载
市面上有很多好用的下载器可供选择,这里我使用downie进行批量下载
这里要注意一点就是需要下载的图片很多,为了跟你以前的下载文件区分开,最好重新设置一下下载目录,这样就不会很多文件乱在一起无法分别了。
直接将格式化好的文本复制进去就可以等待下载完成了,还是很方便的~