一、下载博客园备份xml格式文件

点击下载按钮后选择 xml格式下载
二、上传xml文件到目标服务器并批量下载图片
新建一个image目录,上传xml到image同级目录,进入image目录,使用以下脚本批量下载博客园图片。备份位置
cd /root && mkdir image
cd image
for i in grep -Eo 'src="[^"]+"' ../cnblogs_blog_netsa.20250630143907.xml | sed 's/src="//;s/"//g'|grep -E 'png|jpg'; do timeout 5s wget $i; done此时当前目录应该是所有你博客园的所有图片

下载目录到自己电脑手动到halo后附件模块上传,建议新建一个图册便于区分,上传完毕,此时图片迁移完毕,接下来是文章。
三、文章迁移导入
3.1 处理xml文件图片链接地址为相对路径
perl -pe 's|(]*src=")(https?://[^"]+/)([^"]+)|\1/upload/\3|g' cnblogs_blog_netsa.20250630143907.xml > new.xml此时xml数据库中所有图片的地址已经处理为相对于域名的相对地址,类似/upload/abc.jpg格式,xml导入后会自动引用图片地址。
3.2 处理文章标题(非必须)
博客园导出的xml文章标题默认都自动追加了原博客名称,根据需要删除掉,非必须步骤。
sed -i 's/-忙碌在路上//g' new.xml 3.3 导入到halo博客
同时使用halo的迁移插件Atom Feed导入new.xlm即可

图片会自动识别,迁移完成。
评论