首页 > 其他分享 >CSDN文章导出md并迁移至博客园

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

时间:2024-09-24 17:12:10浏览次数:6  
标签:md url 博客园 list content html CSDN data

一、获取所有文章地址

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 requests

import html2text

data = [
{
        "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": [
            "/i/ll/?i=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转换为Markdown
    md_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='
    # 解析错误的url
    err_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.拉取成功后,发布即可!

 

标签:md,url,博客园,list,content,html,CSDN,data
From: https://www.cnblogs.com/air/p/18429617

相关文章

  • MMD模型及动作一键完美导入UE5-IVP5U插件方案(二)
    1、下载并启用IVP5U插件1、下载IVP5U插件,IVP5U,点击Latest下载对应引擎版本,将插件放到Plugins目录,同时将.uplugin文件的EnableByDefault改为false2、然后通过Edit->Plugins启用插件2、导入pmx模型1、直接在Content的某个目录拖入pmx模型,选择默认参数2、导入模型成功......
  • 论文速递!时序预测!DCSDNet:双卷积季节性分解网络,应用于天然气消费预测过程
    本期推文将介绍一种新的时序预测方法:双卷积季节性分解网络(DualConvolutionwithSeasonalDecompositionNetwork,DCSDNet)在天然气消费预测的应用,这项研究发表于《AppliedEnergy》期刊。针对天然气消费的多重季节性和非规律性,推荐的文献提出了一种新的预测方法:双卷积季节性分解......
  • 论文速递 | 基于MIC-ICEEMD-RIME-DHKELM的碳排放预测模型研究
    目录参考文献内容介绍作者擅长碳排放预测模型参考文献内容介绍本文提出了一种基于最大信息系数(MIC)特征提取、改进互补集合经验模态分解(ICEEMD)、雾凇优化算法(RIME)与深度混合核极限学习机(DHKELM)的建筑业碳排放量预测模型。首先,根据IPCC计算方法,从直接和间接两个方面测算1992-202......
  • 2024年JCR一区极光优化算法+分解对比!VMD-PLO-Transformer-BiLSTM多变量时间序列光伏功
    中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测目录中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.中秋献礼!2024年......
  • 在 PowerShell 中,有多个命令与 IPv6 相关。以下是一些常用的命令和 cmdlet: 管理和配置
    在PowerShell中,有多个命令与IPv6相关。以下是一些常用的命令和cmdlet:获取网络适配器的IPv6地址:powershellCopyCodeGet-NetIPAddress-AddressFamilyIPv6查看所有网络适配器信息:powershellCopyCodeGet-NetAdapter查看特定网络适配器的IPv6地址:powershell......
  • ansible-cmdb简单使用
    1、安装官方:https://ansible-cmdb.readthedocs.io/en/latest/wgethttps://github.com/fboender/ansible-cmdb/releases/download/1.27/ansible-cmdb-1.27-2.noarch.rpmyum-yinstall./ansible-cmdb-1.27-2.noarch.rpm2、使用首先,为你的主机生成Asible输出:mkdiroutan......
  • cmd增强工具——clink
    作为一个喜欢折腾各种花里胡哨东西的人,我每次都会花费大量时间在这上面。cmd作为windows一个很重要的组成部分,很多时候我们都会应用到它。与新出的powershell相比,cmd的功能肯定是没有那么强大的,但其重要性绝对不输给pwsh。但是cmd真的很简单,没有命令补全,也没有这么多的快捷键,功能......
  • cmd fsutil生成指定大小文件
    概要>fsutilfilecreatenew/?用法:fsutilfilecreateNew<filename><length>例如:fsutilfilecreateNewC:\testfile.txt1000生成单位:Byte测试用例生成1KB的文件fsutilfilecreateNew1.txt1024生成1MB的文件2^20=1024*1024=1048576fsutilfilec......
  • vue3.0使用v-md-editor预览markdown文件
    1.安装依赖npmi@kangc/v-md-editor-S2.在main.js文件中引用注册组件import{createApp}from'vue';//预览组件以及样式importVMdPreviewfrom'@kangc/v-md-editor/lib/preview';import'@kangc/v-md-editor/lib/style/preview.css';importgithubThe......
  • MDS130-16-ASEMI充电桩专用MDS130-16
    编辑:llMDS130-16-ASEMI充电桩专用MDS130-16型号:MDS130-16品牌:ASEMI封装:DXT-5批号:2024+现货:50000+最大重复峰值反向电压:1600V最大正向平均整流电流(Vdss):130A功率(Pd):大功率芯片个数:6引脚数量:5安装方式:直插类型:整流模块、整流桥正向浪涌电流IFSM:1560A正向电压:1.05V~1.25V封装尺寸:如......