CSDN文章导出md并迁移至博客园

news/2024/9/24 17:22:09

一、获取所有文章地址

1.进csdn首页,点击自己的头像

 

2.在个人主页界面,按F12打开控制台,并找到network,找到get-business开头的请求,右键copy他的url

3.选择console,输入一下代码,其中fetch里面的url是你刚才复制的地址,并把里面的size改为100(这个是返回的文章内容数,上限为100),page是页码数,如果你的文章数大于100,那么后面的请求需要将page=1改为2,3,4...一直到你请求完所有的文章,这里以page=1,size=100请求的数据来进行处理:

fetch('https://blog.csdn.net/community/home-api/v1/get-business-list?page=1&size=100&businessType=blog&orderby=&noMore=false&year=&month=&username=qq_35204012')  .then(response => {  if (!response.ok) {  throw new Error('Network response was not ok');  }  return response.json(); // 假设服务器响应的是JSON格式的数据  })  .then(data => {  console.log(data); // 处理并显示响应的数据  })  .catch(error => {  console.error('There has been a problem with your fetch operation:', error);  });

执行后的结果:

可以看到,这里打印了一百篇博文数据

4.将鼠标放在list上并右键copy object

5.将内容去掉[]后复制到脚本的data里面,data是一个列表,里面包含若干字典,注意格式(需要将所有的false替换为False,true替换为True),根据自己的博文数量,修改page的值,找到所有的文章信息复制到脚本的data数据里面

二、使用脚本进行采集

注意:需要将所有文章全部开放,不能有付费或者VIP文章,需要将data里面的内容替换为你自己的

import pandas as pd
import requestsimport html2textdata = [
{"articleId": 139602661,"title": "微信AI机器人使用说明-2024本地部署版(非wechaty)","description": "微信机器人实现的功能,先看视频的演示效果:2024年最新稳定的本地部署AI微信机器人使用方法演示可以对话可以语音可以绘画支持主账号管理好友权限管理。","url": "https://blog.csdn.net/qq_35204012/article/details/139602661","type": 1,"top": True,"forcePlan": False,"viewCount": 1581,"commentCount": 0,"editUrl": "https://mp.csdn.net/console/editor/html/139602661","postTime": "2024-06-11 16:31:56","diggCount": 34,"formatTime": "2024.06.11","picList": ["https://img-blog.csdnimg.cn/img_convert/cf52fbe57e404f30babcdda6f1ef2c08.png"],"collectCount": 6}
]def html_to_md(html_content, output_file):"""将HTML内容转换为Markdown,并保存到指定的文件。:param html_content: str, 要转换的HTML内容:param output_file: str, 输出的Markdown文件名(包括路径)"""# 创建一个html2text转换器对象h = html2text.HTML2Text()# 使用转换器的handle方法将HTML转换为Markdownmd_content = h.handle(html_content)# 将转换后的Markdown内容写入文件with open(output_file, 'w', encoding='utf-8') as f:f.write(md_content)if __name__ == '__main__':url_list = [item['url'] for item in data]# 解析地址base_url = 'https://www.helloworld.net/getUrlHtml?url='# 解析错误的urlerr_list = []for url in url_list:try:print(url)res = requests.get(base_url + url)content = res.json().get('html')title = res.json().get('title').strip()print(title+'已完成')# 调用函数,将HTML转换为Markdown并保存为文件html_to_md(content, f'./md/{title}.md')except Exception as e:print(e)err_list.append(url)if err_list:print(err_list)df = pd.DataFrame([{'name': err_list}])df.to_csv('err.csv', index=False)

导出的结果如下:

三、博客园上传文章

1.选择导入文章,也可以在随笔里面上传md

2.选择自己的markdown文件

3.编辑随笔或文章

4.拉取图片,许多文章他是有图片的,图片如果有防盗链的话就没办法显示,所以需要手动拉取一下图片

 

5.拉取成功后,发布即可!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/64244.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

C#WinForm窗口或UserControl调用WPF的UserControl卡死!

辛辛苦苦的把WPF的界面弄好,但在VS中的的工具栏中把WPF的UserControl拖入到WinForm中时,VS会卡10分钟左右,然后就卡死。 最终找到原因:在定义的类整错了图中红色区域应该是Vm_Tjlx。而不是vm_Tjlx 查找原因的方法:1、在WinForm中可以用代码调用WPF。2、写一段代码就调试一…

【触想智能】工业显示器在智慧城市中的应用市场分析

随着智能技术的快速发展和智慧城市的不断兴起,工业显示器作为智慧城市基础设施的重要组成部分,正逐渐成为市场热点。触想工业显示器TPC-M200系列工业显示器不仅在监控、交通、能源等领域有着广泛应用,还在提升智慧城市管理和运营效率方面发挥着重要作用。下面触想智能小编将…

通讯异常——网卡高级设置建议

1.打开网卡高级设置 右击任务栏中网络图标出现如下菜单选项点击“打开‘网络和Internet’设置”,出现如下类似界面 鼠标点击“更改适配器选项”,出现如下界面: 右击堆栈设备所链接网络图标 鼠标点击“属性”选项,出现如下界面: 单击“配置”按钮,出现如下界面: 选择…

开始——环境配置

前置:安装>=9.3的nodejs 在系统用户文件夹找到.npmrc文件并添加以下内容:npm配置文件内容prefix=c:\nodejs\node_global#nodejs的global目录 cache=c:\nodejs\node_cache#nodejs的缓存 msvs_version=2019#设置electron的C++编译器为visual studio 2019 home=https://www.npm…

通过jlink连接树莓派4b搭建gdb调试环境

参考资料 jlink使用的是博光微的jlink v9树莓派使用的是4bjlink与树莓派链接按照表中的内容进行链接,注意链接过程要小心仔细,否则后续排查起来十分麻烦 下载openocd 由于我是在linux环境下,所以省去了jlink的驱动安装,直接先下载openocd sudo apt install openocd注意不要…

考前须知:Oracle OCP考试流程和准备

考前须知:Oracle OCP考试流程和准备 OCP(Oracle Certified Professional),是甲骨文数据库认证中很常见的一个,但却有着很重要的作用,对于从事大型数据库相关行业的人来说,几乎是必考的一种,OCP证书含金量较高,考试也有一定的难度,所以考前要对OCP考试有一些了解。 ​ 一…

D24 kubernetes 通过钩子如果优雅的停机{PreStop}

1、背景在 Kubernetes 中,每次微服务的代码发布都意味着创建新版本的 pod 并删除旧 pod,如果部署不够优雅的话,可能出现如下两个问题:正在处理请求的pod被删除,在请求没有做幂等处理的情况下,就会出现数据重复、数据错误,亦或导致分布式系统数据不一致; Kubernetes 将流…

阿里云函数计算 x NVIDIA 加速企业 AI 应用落地

阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 的合作基于双方在提效降本方面的共同目标。阿里云函数计算作为无服务器架构,凭借其高灵活性、弹性扩展能力以及对 GPU 算力的支持,为 AI 任务如模型推理和图像生成提供了高效的计算平台。作者:付宇轩 前言 阿里云函数计算(F…