我们一直在想,当简书的一切都可以数据化,晦涩难懂的术语变为一张张图表,展现着创作背后的法则......
当复杂的数据获取过程简化成一个函数调用,一行代码,一百毫秒......
那会是一个怎样的简书?
当所有创作者都懂钻贝,都知道最佳的发文时间,都会使用 Markdown......
当大家对简书的印象,从一个引入区块链的创作社区,到一个数据驱动、面向未来的文字内容分发平台......
那一天,何时到来?
也许是下一秒,也可能是十年后。
但在无限长的时间维度上,这一梦想终将实现。
而这一切,需要一套基础设施体系。
这套体系需要足够简单,但也要足够强大:简单到任何人都可以使用,强大到作为平台建设的地基。
现在,这套工具来了。
基于 Python,核心代码 800 行,近一个月时间开发,100 次代码提交,7 个测试版本。
这就是 Jianshu-Research-Tools,一个简书数据第三方库。
能干什么
最简单的,获取用户昵称,一行代码。
jrt.GetUserName("https://www.jianshu.com/u/ea36c8d8aa30")
进阶一点的,获取用户徽章列表,一行代码。
jrt.GetUserBadgesList("https://www.jianshu.com/u/ea36c8d8aa30")
再复杂一点,获取资产排行榜信息,一行代码。
jrt.GetAssetsRankList(start = 1)
很复杂的,获取文章内容,一行代码。
jrt.GetArticleHtml("https://www.jianshu.com/p/af3e575db7af")
结合数据分析库 Pandas,获取资产排行榜中前十万名用户的信息:
资产排行榜数据结合图表库 Mathplotlib,生成前 300 名用户的资产量条形图:
资产条形图结合可视化库 Dash,构建交互式图表:
交互式图表怎么实现的
JRT 基于 Python 生态中优秀的网络请求库 Requests 和 HTML 解析库 BeautifulSoup 开发。
数据全部来源于网页内容解析和简书的公开接口。
其实,简书网页中的很多内容都是通过接口请求的,再通过脚本渲染出来。
例如,这是当你下滑一个用户的文章列表时,获取新文章信息的请求:
加载新文章请求看到红圈的内容了吗?这就是数据的来源。
简书网页所做的,只是去请求这个接口,拿到返回数据,再稍加处理呈现给用户。
而 JRT 也是这样做的,只不过它处理数据是为了便于分析,而不是显示到网页上。
怎么用
我有 Python 开发基础
执行命令,安装 JRT:
pip install JianshuResearchTools
导入库:
import JianshuResearchTools as jrt
之后,你就可以使用 JRT 的所有功能了。
除了上面演示的接口,JRT 还支持获取用户基础信息、用户资产信息、文章基础信息、贝壳小岛信息等。
我没有 Python 开发基础
这是一个面向进阶用户的库,如果您没有编程基础,使用将会比较困难。
但这并不意味着您无法使用这个工具。我们会在近期推出基于这个库的服务,供普通用户使用。
例如:
- 每天向您推送贝价信息
- 在文章上榜时收到提醒
- 一键生成用户分析报告
敬请关注。
遇到问题怎么办
面向开发者的反馈渠道
访问 JRT 的 GitHub 项目主页,新建一个 Issues,等待我们处理。
当然,如果您有充足的经验,也可以直接修改源代码。如果修复了问题,希望您向我们提交 Pull Request,帮助我们完善这个工具。
面向普通用户的反馈渠道
请简信初心不变_叶子,说明您遇到的问题。反馈时请尽量附上程序源代码和报错信息,方便我们定位问题。
这个工具只是一个开始,未来,必将是星光闪亮。
网友评论