平时写了博客,除了发布在自己的博客上,还会发布在知乎专栏和 CSDN(简书已经放弃了),发布之后会时不时的看看文章的阅读量等相关数据。由于 CSDN 的后台没有导出功能,就自己写了一个,查看起来比较直观。
效果展示
首先来看下导出的效果,我是仿照知乎的导出做的,上面是知乎,下面是我写的工具导出的 CSDN 的数据。
开发背景
1、知乎
上面也说到了,我写的这个功能是仿照知乎做的,那么知乎的数据导出功能在哪呢?
前提你的创作者等级需要至少是 Lv3
,点击打开「知乎创作者中心」即可查看自己的等级。
如果符合条件,依次点击「内容分析」>「文章」>「单篇文章分析」>「导出 Excel」即可导出所有文章的数据。
2、CSDN
CSDN 也有文章的数据分析,点击「博文数据统计:单篇文章分析」即可查看。
可以看到,也是有导出功能的,但问题是,只能查看一段时间内的文章阅读数据。而我想看到文章所有的阅读数据,类似于知乎那样的。
点击「文章管理」可以查看文章的相关数据,但是这里的数据不能导出。
既然官方提供了数据,那就自己做个导出功能吧,这就是我开发这个工具的初衷,把所有数据导出为表格,查看更直观,也可以进行筛选排序等。
工具使用
说了这么多,这个工具到底怎么使用呢?
1、获取cookie
首先访问「CSDN 文章管理」,打开浏览器的开发者工具,切换到 Network
选项卡,然后刷新页面,通过 XHR
筛选,找到 list
请求的 Request Headers
中的 cookie
并复制。
2、访问工具
点击「CSDN文章数据导出工具」即可访问该工具。
将上一步操作获取到的 cookie
粘贴到输入框中,点击导出,等待几秒即可下载你 CSDN 所有文章的数据,等待时间与文章量有关。
说明
其实有很多通过 Python 爬取网页来完成类似数据导出功能的,但是我比较熟悉 Java,就自己写了一个。
工具使用了 CSDN 官方接口,通过 cookie
模拟用户请求,分页获取文章的数据,并且分页请求的时候做了延时处理,不然速度可以更快。
获取到所有数据之后,使用阿里巴巴的「EasyExcel」导出为 Excel 并下载。
声明:用户所填写的 cookie 不会被保存,且只用于获取用户文章数据,不会用作其他用途。不建议经常使用,也没这个必要。
这个工具本身也是为了我自己方便开发的,如有侵权,我会及时删除(这句是给 CSDN 官方看的)。
我的博客使用的是「halo」搭建的,后台能查看文章的数据,但是也不能导出为 Excel,等有时间我也写一个类似的导出功能。
本文由 掘墓人 创作,采用 CC BY-NC-ND 4.0 DEED
,转载或翻译请注明出处。
最后编辑时间为: 2020年02月27日