经过两周的封闭测试,JKit(原 JRT)开发者预览版已上线。
pip install jkit --pre
在该版本中,我们重新思考设计了 SDK 的交互逻辑。
import asyncio
from jkit.user import User
async def main() -> None:
user = User.from_url("https://www.jianshu.com/u/ea36c8d8aa30")
print(await user.name)
asyncio.run(main())
# Output: 初心不变_叶子
并为一系列新的应用场景提供开箱即用的解决方案。
获取用户发布的文章:
import asyncio
from jkit.user import User
async def main() -> None:
user = User.from_url("https://www.jianshu.com/u/ea36c8d8aa30")
async for item in user.iter_articles():
print(item.title)
asyncio.run(main())
# Output:
# 更新日志 | 简书小工具集 v3.7.0 与大量体验更新
# 不被定义的未来——初心不变_叶子简书四周年总结
# 公告 | 服务状态面板更新
# 公告 | 支持积分兑换平台贝价守护联盟
# 公告 | 2023.8.21 简书小工具集贝市分析工具服务异常
# ...
获取用户资产排行榜数据:
import asyncio
from jkit.ranking.assets import AssetsRank
async def main() -> None:
rank = AssetsRank()
async for item in rank.iter_data():
print(item.ranking, item.assets_amount)
asyncio.run(main())
# Output:
# 1 25510488.199
# 2 7113481.439
# 3 5692270.099
# 4 5515595.892
# 5 5036086.12
# ...
同时,我们简化了资源对象间的转化操作:
import asyncio
from jkit.article import Article
async def main() -> None:
article = Article.from_url("https://www.jianshu.com/p/1a3de4297818")
author_info = await article.author_info
author = author_info.to_user_obj() # jkit.user.User Object
print(await author.name)
asyncio.run(main())
# Output: 初心不变_叶子
更多配置项现已公开:
from jkit.config import DATA_OBJECT_CONFIG, NETWORK_CONFIG, RESOURCE_OBJECT_CONFIG
# 设置网络代理
NETWORK_CONFIG.proxies = "http://localhost:7890"
# 禁用数据校验
DATA_OBJECT_CONFIG.enable_validation = False
# 关闭资源对象自动检查
RESOURCE_OBJECT_CONFIG.auto_checking = False
最后,我们现已支持获取部分私有数据(需要鉴权):
import asyncio
from jkit.credential import JianshuCredential
from jkit.private.assets import AssetsTransactionHistory
async def main() -> None:
credential = JianshuCredential(token="<remember_user_token>")
history = AssetsTransactionHistory(credential=credential, assets_type="FP")
async for item in history.iter_records():
print(item)
asyncio.run(main())
上述部分功能已在简书小工具集中投入使用。
pip install jkit --pre
声明
JKit 尚处于 Alpha 测试阶段,可能随时进行不兼容变更。
使用 JKit 时请控制并发速率,降低对简书 API 的压力。
JKit 私有数据获取功能 jkit.private
需要简书鉴权信息,请仅在获得用户同意的前提下使用这些功能,并请注意不要将 Token 泄露给第三方,以免影响账户安全。
网友评论