如何将csdn博客转移至halo博客之中
前言
这几天装了一个halo博客,但是网站上没有搜到转移csdn博客到halo上面的方法,这其中有几个步骤
- 将csdn博客导出文件
- 调用halo后台小工具中的上传文件
- 批量调用上传
下面将以上面的步骤一一展示方法。
1.将csdn博客导出文件
这个也是参考的一个博客,博客地址是: ,直接搬运过来
首页 / ☀️ (亲测可用)简单两步:一键导出 CSDN 自己博客所有文章 | MD 格式
下载 CSDN 博客 MD 文章
🌲 前言 🌲
近来,一直忙碌于将CSDN的博客搬来搬去,每次都需要去复制粘贴,觉得太麻烦,终于找到个一劳永逸的方式,将所有文章导出为 MD 格式,都下载到本地,这样就方便进行迁移和存档。下面 👇🏻 分享一下如何下载!⭐️
⭐️ 方法 ⭐️
① 登陆CSDN,点击链接:https://blog-console-api.csdn.net/
你没看错!就是一个 404 页面!
② F12 -> console
复制粘贴下面的代码,回车:
var s=document.createElement('script');s.type='text/javascript';document.body.appendChild(s);s.src='//cdn.jsdelivr.net/gh/ame-yu/csdn-move@latest/dist/index.js';
等待一会儿功夫,会自动下载一个名为 csdn-blog-md
压缩包文件,里面就是你博客所有的 MD 格式的文章。
2.调用halo后台小工具中的上传文件
其中halo后来小工具中有导入markdown文件的样子
可以看到该按钮接口如下
http://你的博客地址:8090/api/admin/backups/markdown/import
其请求格式也比较简单,body中为form-data格式,于是在python中模拟请求就好了。
3.批量调用上传
现在将第一步导出来的csdn博客放进一个文件夹,然后将token,url,base_url等信息修改一下运行python脚本就能直接一键上传了
import os
import random
import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder
url = "http://你的ip地址:8090//api/admin/backups/markdown/import" #
base_url ="csdn_blog" #csdn博客存储文件夹
post_num = 0
for i in os.listdir(base_url):
filename=base_url+'/'+i
file = open(filename,"rb")
multipart_encoder = MultipartEncoder(
fields={
"file":
(i,file,)
},
)
files = {'file':('1.txt', open(filename,"rb"))}
headers = {
'Admin-Authorization': '请求头中的验证',
'Accept': 'application/json, text/plain, */*',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36',
'Content-Type': multipart_encoder.content_type,
'cookie':"_ga=GA1.1.1286920307.1646305970; JSESSIONID=node099cl7few1efbi3b9wsxm2m4615.node0" #存入cookie地址
}
response = requests.request("POST", url, headers=headers,data=multipart_encoder)
print(response.text)
if(response.status_code==200):
post_num+=1
print("成功导入"+str(post_num)+"篇!")
运行成功后就可以看到下面的结果。
然后在博客中就可以看到导入的文件了