之前突然突发奇想,将博客进行一个迁移操作(csdn真的有点越来越不友好了,囧),于是选择了vutrl+hexo的组合
我需要解决的问题有两个:
- 将我的所有博客转成md格式存储到本地
- md文件中,所有的图片需要下载并替换成图床地址(CSDN做了访问限制)
第一个问题,我本来打算自己动手写爬虫的,但发现有一个哥们已经写出了一个好用的软件,博客文章点这里
亲身体验了一下,确实还是不错的,基本上都下载下来了;有几篇下载失败的,我分析了一下,博文名字中带有本地新建文件无法作为文件名的字符,所以改一下自己文章名字就可以了
第二个问题,这个我也从百度,翻到google,翻到github,码云,都没有找到什么好用的。所以自己动手去做了,图床没找到什么好用的,看了下我的文章图片每个都不是很大,所以决定直接将图片放到服务器上面去了
于是我需要做的事情就是:
- 将下载好的md文件梳理一下每个文件的路径
- 对每个文件中的所有图片,格式如
![description](url)
的进行下载并重命名 - 替换url
在实际编写代码过程中,我发现CSDN的图片服务器有两种子域名:
另外值得注意的是,这个脚本有两个使用要求,否则不可以直接使用:
- 每个图片格式如
![description](url)
必须要单独成行 - 每个图片格式的
description
部分为CSDN默认,如,这里写图片描述或者在这里插入图片描述。
少量上述问题也可以通过手动修改进行解决,脚本也提供了相应提示选项
使用完成示意图如下:
代码放我的GitHub了