源码地址:
- github:https://github.com/lishuangquan1987/CSDNExporter
- gitee:https://gitee.com/lishuangquan1987/csdnexporter
介绍
最近有CSDN博客导出来的需求,翻看了很多开源工具,都不能用或者不好用,于是决定自己做一个。本开源项目是想做一个少配置,无需CSDN登录,点开即用,界面通俗易懂的CSDN文章导出工具
源码分为后台(go)与前台(c#+wpf)。为什么要这么做?是因为没有发现好用的html转markdown的C#库
后台的作用:输入csdn文章地址,返回markdown文本
前台的作用:对markdown进行处理,包含无用内容的过滤,图片下载到本地等功能。
后台使用到关键的开源的库:html-to-markdown
编译
后台编译
需要安装go 1.19
及以上
在backend\html_to_markdown_service
目录下,打开控制台,运行go build
命令,即可生成html_to_markdown_service.exe
的可执行文件,将此文件拷贝到C#的生成目录frontend\CSDNExporter\bin\Debug\net8.0-windows
即可:
前台编译
需要安装.net8.0
使用VS2022
编译
注意
一定要将生成html_to_markdown_service.exe
的可执行文件,拷贝到C#的生成目录frontend\CSDNExporter\bin\Debug\net8.0-windows
:
软件配置
编译完之后,双击CSDNExporter.exe
打开程序
界面如下:
配置Cookie
说明:CSDN会对API进行滑码验证,目前没有研究怎么去破解,所以需要人工滑码,然后填入Cookie到配置中。
点击如下图标,进入Cookie设置界面:
点击测试网址
超链接,会使用微软Edge
浏览器(所以必须电脑上安装微软的Edge浏览器)打开CSDN的API访问地址,一般情况下会有滑块验证
拖动滑块进行验证,验证完成后会是这样的:
此时按F12进入开发者调试界面,点击网络Tab,然后再点一次刷新:
可以看到捕获了一次网络请求,选中请求,查看请求详情,在标头->请求标头->Cookie可以看到一长串的字符串,复制这个字符串到配置中,然后点击保存即可:
注意:要看清楚Cookie的内容,不要多复制或者少复制
配置CSDN用户名
用户名可以是任意CSDN的用户名,所以此工具不仅可以导出自己的文章,还可以导出别人的文章,但是请用作合理用途,侵权与本工具无关。
CSDN用户名可以从网址这里看到,实际上此工具也是根据用户名来拼接Url的,如果用户名填写错误,则访问不到Url
使用
配置好Cookie和用户名之后,就可以进行操作啦
获取用户的所有文章
点击获取文章按钮,可以看到获取了很多文章:
选中要导出的文章,点击导出,会让选择.md
文件所存放的文件夹
还可以选择图片要不要下载到本地。