如何将csdn博客转移至halo博客之中

本文详细介绍了如何将CSDN博客内容导出为Markdown格式,并使用Halo后台的小工具进行批量上传,实现博客内容的快速迁移。通过在浏览器控制台执行特定代码下载博客文件,然后利用Python模拟POST请求上传至Halo,最终实现一键导入。
摘要由CSDN通过智能技术生成

如何将csdn博客转移至halo博客之中

前言

​ 这几天装了一个halo博客,但是网站上没有搜到转移csdn博客到halo上面的方法,这其中有几个步骤

  1. ​ 将csdn博客导出文件
  2. ​ 调用halo后台小工具中的上传文件
  3. ​ 批量调用上传

下面将以上面的步骤一一展示方法。

1.将csdn博客导出文件

​ 这个也是参考的一个博客,博客地址是: ,直接搬运过来

首页 / ☀️ (亲测可用)简单两步:一键导出 CSDN 自己博客所有文章 | MD 格式

下载 CSDN 博客 MD 文章

🌲 前言 🌲

近来,一直忙碌于将CSDN的博客搬来搬去,每次都需要去复制粘贴,觉得太麻烦,终于找到个一劳永逸的方式,将所有文章导出为 MD 格式,都下载到本地,这样就方便进行迁移和存档。下面 👇🏻 分享一下如何下载!⭐️

⭐️ 方法 ⭐️

① 登陆CSDN,点击链接:https://blog-console-api.csdn.net/

image.png

你没看错!就是一个 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文件的样子

image-20220415175443747

可以看到该按钮接口如下

http://你的博客地址:8090/api/admin/backups/markdown/import

其请求格式也比较简单,body中为form-data格式,于是在python中模拟请求就好了。

image-20220415175648512

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)+"篇!")

运行成功后就可以看到下面的结果。

image-20220415180930347

然后在博客中就可以看到导入的文件了

image-20220415181117896

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值