blog
blog copied to clipboard
一个超方便一键将 csdn 博客生成 hexo 源文件的工具

这个工具很早之前写的了。新年疫情原因宅家太无聊了,简单写下文档使用说明....
2020.5.01 更新,支持不传递 cookie,此时则为直接爬去 html 解析
2020.2.15 更新:无需下载依赖的可执行程序参考
大家在日常写博客的过程中,肯定会遇到想迁移博客的时候。例如我之前就遇到想把 csdn 博客文章迁移到 hexo 上。hexo 的文章源文件就是一些符合特定格式 markdown 的文章。因此要实现也比较简单,对 csdn 博客首页 进行爬虫,(都是一些一些基础的获取标签之类的内容操作了,不详细讲了),然后生成符合特定格式 markdown 即可。
Quick Start
前提已经安装 nodejs
1、全局安装工具
npm i -g csdnsynchexo
2、获取 csdn 的 cookie(可选)
若不配置 cookie,则爬 html 解析,这种情况是无法获取到标签的。若提供,则使用 api 进行爬取
https://blog-console-api.csdn.net/v1/editor/getArticle?id=本人文章id
tips: (这里这么做是因为 csdn 的文章详情api只需要有任意的已登陆的合法 cookie 就能够根据文章 id 拉取信息了。csdn 的模拟登录破解不出来 T T)
2.1 登录后,点击将这个 url复制下面这段的 cookie 到配置文件或者指定运行。

3、配置文件
在当前目录下新建config.json,内容如下
tips: json 记得去掉注释。就是//后面的内容
// config.json
{
"csdn": "https://blog.csdn.net/flytam", // 要爬取的csdn博客地址
"output": "./example", // 输出hexo文章源markdown的目录
"cookie": "xxxx" // 可选,若提供cookie,只能爬取自己的文章
}
4、执行生成
hsync --config ./config.json
5、结果
可以看到,我们的 hexo 源文件就生成成功了
码字不易。本工具仓库地址。如果觉得有用,你的 star 是我最大的动力 - -
title中有冒号,导入后 初始化会报错~ YAMLException: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at line 1, column 18:
title中有冒号,导入后 初始化会报错~ YAMLException: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at line 1, column 18:
能提供下爬的文章链接吗?顺便到https://github.com/flytam/CsdnSyncHexo/issues 这边帮忙提个issuse。谢谢!
对于那种忘记密码,无法登陆csdn的,这种方式好像不行。因为需要登陆以后用cookie。只能按照xml解析单个博客实现复刻。
对于那种忘记密码,无法登陆csdn的,这种方式好像不行。因为需要登陆以后用cookie。只能按照xml解析单个博客实现复刻。
@xros 任意cookie就行。忘记密码无法登录注册新账号就可以