美文网首页
JKit v3 开发者预览版发布!

JKit v3 开发者预览版发布!

作者: 初心不变_叶子 | 来源:发表于2023-12-30 08:52 被阅读0次

经过两周的封闭测试,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 泄露给第三方,以免影响账户安全。

相关文章

网友评论

      本文标题:JKit v3 开发者预览版发布!

      本文链接:https://www.haomeiwen.com/subject/atnsndtx.html