Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一个超方便一键将 csdn 博客生成 hexo 源文件的工具 #14

Open
flytam opened this issue Jan 28, 2020 · 4 comments
Open

一个超方便一键将 csdn 博客生成 hexo 源文件的工具 #14

flytam opened this issue Jan 28, 2020 · 4 comments
Labels
node This issue or pull request already exists

Comments

@flytam
Copy link
Owner

flytam commented Jan 28, 2020

这个工具很早之前写的了。新年疫情原因宅家太无聊了,简单写下文档使用说明....

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 到配置文件或者指定运行。
image

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 是我最大的动力 - -

@flytam flytam added the Go label Jan 28, 2020
@flytam flytam added node This issue or pull request already exists and removed Go labels Jun 9, 2020
@kcoderk
Copy link

kcoderk commented Sep 7, 2020

title中有冒号,导入后 初始化会报错~
YAMLException: incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at line 1, column 18:

@flytam
Copy link
Owner Author

flytam commented Sep 8, 2020

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。谢谢!

@xros
Copy link

xros commented May 18, 2022

对于那种忘记密码,无法登陆csdn的,这种方式好像不行。因为需要登陆以后用cookie。只能按照xml解析单个博客实现复刻。

@flytam
Copy link
Owner Author

flytam commented May 19, 2022

对于那种忘记密码,无法登陆csdn的,这种方式好像不行。因为需要登陆以后用cookie。只能按照xml解析单个博客实现复刻。

@xros 任意cookie就行。忘记密码无法登录注册新账号就可以

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
node This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

3 participants