阅读数:

七牛图片快速下载到本地服务器

0

说明

有一天登录到自己的博客,打开发现所有的图片都加载不出来了。图片原来都寄存在七牛云上,刚开始
由于七牛是免费的且速度较快,就放在上面了。但是最终还是被坑了,后来通过填写工单的方式,才得知
原来的都是测试域名,现在都回收了,不再使用。也就是外联都失效了,从七牛官网上也下载不了,原来的
图片七零八碎的也都不知道在哪。抓狂。后边也感谢七牛工程师,将原来的测试域名暂时给我激活,3天期限。
要么从官网下载下来放到别的地方,要么填写一个自己已经备案的cdn加速域名。之前也没备案,就赶紧备案
但是路漫漫,决定还是一边申请备案,一边把资源下下来。但是蛋疼的又发现,官网并不知道批量打包下载。哭!!
后边工程师发了一个官方的工具,还得下载安装,配置环境变量,看着挺费劲。决定还是自己利用nodejs爬虫下来。

实现

  • 获取所有图片地址

    爬虫的第一步,肯定的拿到我原来在七牛上传的所有图片的url地址,这个会点前端的难不倒。打开七牛网站,找到自己的
    空间,打开F12开发者工具,请求页面。分析后发现,图片是以分页的方式加载的,最终发现有个file的api,在response
    里很清楚的看到我的图片资源。就是它了,然后将右侧的response的json复制下来作为page1.json备用。
    图0
    后边的分页数据也是类似的方法,点击列表最后的加载更多,继续上述步骤,我这里总共有4页所有,最后拿到的资源就有
    page1.json、page2.json、page3.json、page4.json

  • 获取资源
    这里我使用的是nodejs,原因是会且相对简单。建立一个小小的express项目,新建一个test.js,
    核心就是利用axios和nodejs的fs文件模块,对文件进行下载
    和保存。然后将上一步保存的json文件放到同一级目录下,方便读取。
    图1
    完整的爬虫项目可以Github上下载拿走不谢

  • 七牛地址替换为本地地址
    将原来七牛的测试域名全部替换为本站相对地址

  • end
    最终成功的抛弃的七牛,摆脱了束缚。


^-^欢迎回复交流^-^


0
赏点咖啡钱^.^