JRT 2.0,星辰赋能,创作未来
两个月前,我们发布了 JRT 的第一个正式版本。
自此,这一工具在社区的专业领域有了一定知名度,在 PyPI 上获得了 307 的月下载量。同时,我们也收到了来自不同行业用户的各类建议。
随着简书接口的变化和数据分析的实际需求,现有的工具已经无法满足大家的使用。为了不被之前的设计拖累,我们从零开始,打造了 JRT 2.0。
这一版本使用全新的第三方库,完全重写了函数实现逻辑,同时在很多函数中使用接口代替了 Html 解析的数据获取方式。在不同函数的调用中,JRT 2.0 相较于之前版本中实现相同功能的函数,速度有 20% - 50% 的提升。以下是几个例子:
- 获取用户昵称:266ms -> 129ms(提升 51.5%)
- 获取用户个人简介:268ms -> 113ms(提升 57.8%)
- 获取用户总资产:249ms -> 119ms(提升 52.2%)
(使用 JRT v2 的函数调用方式,以简叔的用户链接作为测试用例)
同时,不同类别的功能被分割为不同的模块,可以根据实际需求引入。在普遍场景下,使用按需引入可将打包的 .exe 文件体积缩减 30% 以上。
这一版本还带来了全新的面向对象特性:
# 示例一:获取用户昵称
>>> import JianshuResearchTools as jrt
>>> user = jrt.objects.User("https://www.jianshu.com/u/ea36c8d8aa30")
>>> user.name
'初心不变_叶子'
# 示例二,获取用户信息摘要:
>>> import JianshuResearchTools as jrt
>>> user = jrt.objects.User("https://www.jianshu.com/u/ea36c8d8aa30")
>>> print(user)
用户信息摘要:
用户名:初心不变_叶子
性别:男
关注数:325
粉丝数:822
文章数:120
总字数:245295
被点赞数:4030
总资产:18000.0
简书钻:10156.544
简书贝:7843.456
会员等级:None
会员过期时间:None
面向对象在单个对象内存占用不足 100 bytes 的基础上,增加了缓存能力。在对象不被删除的前提下,多次获取相同属性,可加速约 200 倍。
下面请大家看一组数据:
- 开发总时长:1957 分钟
- 总提交数:95 次
- 代码总量(功能):3162 行
- 代码总量(测试):475 行
- 存储库大小(纯代码):231KB
我们承认,由于开发匆忙,这个库可能还有很多或大或小的问题。只有 60 个函数被编写了测试,测试覆盖率只有 63%;面向对象中缓存的实现还不够简洁高效......如果大家在使用过程中遇到任何问题,不用怀疑,一定是我们做的还不够完美。请尽情在 Issue 中批评我们,只要问题可以得到解决,我们所付出的都是值得的。
我们也相信,创作的感性与理性是均衡的。社区中有无数作者在以或感性或理性的角度写下文字,有简书工作人员、社区守护者联盟等官方认可的组织从宏观控制着社区的走向,有故事、哲思、简友广场等各类专题的编辑团队发现优质内容,有 LP 理事会成员、会员合伙人作为简书、FTN 和 LP 生态最坚实的后盾,有贝壳小岛团队为简书资产的流动性做出不可磨灭的贡献......
向他们致敬。
我们也许很渺小,也许并不能改变大环境。但我们希望可以用自己的技术和对创作、对社区生态的一份初心,助力这些个人、团体的发展,你们在 JRT 中调用的每一个函数,都是对我们的肯定与支持。
星辰中的一小颗可能并不那么令人敬佩,但整片闪耀的星空将深深打动人的心灵。在简书的每一秒,都有新的文章在产生,有新的互动为社区生态添砖加瓦,有新的想法在某一个时间点成为现实。
也许,这就是对创作的致敬吧。
JRT 已上传至 PyPI,可通过以下命令一键安装:
pip install JianshuResearchTools
项目开源库地址:https://github.com/FHU-yezi/JianshuResearchTools/
更多问题请参考开源库 README 文件,或开启 Issue 询问。
简书数据可视化工具 JIVT 亦已同步发布,文章链接:https://www.jianshu.com/p/33a0aa1de9b2
import JianshuResearchTools as jrt
jrt.future()