知乎答案转markdown文件node实现
发布于 7 年前 作者 zhangolve 3297 次浏览 来自 分享

项目地址:https://github.com/zhangolve/zhihu-answer-convert-to-md-by-node

使用场景

不知道你是否像我一样,有一个基于hexo的博客,同时还在知乎上比较活跃,有一些自己的答案。如果是,可以继续看下去了,这个小工具是可以将你的知乎答案以hexo博客模板的md文件形式备份到本地,方便了你对你自己知乎答案的利用,避免了重复的复制粘贴。

使用方法

1 下载依赖

git clone https://github.com/zhangolve/zhihu-answer-convert-to-md-by-node 

进入zhihu-answer-convert-to-md-by-node文件夹内,

npm install 

2 修改配置文件

将config.example.js文件重命名为config.js,也就是去掉中间的.example ,打开重命名后的config.js文件,修改配置。

首先得到cookie,方法是:

打开已经登录的知乎,在Chrome控制台输入

document.cookie

将得到的字符串粘贴到对应的位置。

zhihuId 为你想要的知乎用户的知乎Id,由于这个项目是为了得到自己的知乎答案方便导出到hexo博客或其他用处,因此,建议填写自己的知乎Id,找知乎id的方法是找到自己的知乎主页,比如我的知乎主页是:

https://www.zhihu.com/people/zhang-hai-26/activities

则我的知乎Id就是zhang-hai-26,将它复制粘贴到对应的位置即可。

至于authorization的获取,方法是使用Chrome浏览器,打开你的知乎主页,比如我的知乎主页是:https://www.zhihu.com/people/zhang-hai-26/activities ,然后按F12或者右键选择检查,切换到Network(网络)标签,刷新页面,这个时候选择一个activity或者answer开头的文件,点击它,然后将右面Request headers里面的authorization 对应的字符串复制下来。粘贴到config.js 对应的位置。

3 下载

执行

npm start

如果config.js的配置没有问题的话,那么执行该脚本之后将会在接下来的一分钟以内,下载最多最近的1000个答案,如果您的知乎答案少于1000个,将下载到您的所有答案。

可以怎样用

如果你已经完成了md文件的写入,这个时候,你会在项目文件夹下得到两个目录,一个是以你的知乎Id命名的文件夹,用于存放最原始的答案json数据,另外一个文件夹则是用来存放md文件的,打开它之后我们就能够看到所有的答案了。

他们的规范都是hexo博客规范,因此可以直接将你想要放到博客中的文件放到博客文章目录之下,也可以对生成的markdown文件进行再编辑,也可以向我一样,把整个生成的markdown文件夹放到博客的一个子目录下,总之,材料就在那里,怎样用其实很灵活。

实际效果

可以看我的博客: http://hktkdy.com/categories/知乎/

我的博客的知乎category里面放的就是我用爬虫爬到的所有答案,实际情况是,对文字支持较理想,对图片资源的利用目前还没解决,致使目前所有文章都属于无图状态,因此不建议答案中含有多图的答主使用该工具。

其他

这个小项目是我练习node爬虫的一个小作品,目前实现的功能还比较简单,可扩展性还很高。还有什么其他问题,欢迎提出,此贴同时发布在v2ex。

回到顶部