跳转至

有什么新的内容在icodeapi v1.0.0中?

概述

添加IcodeAPI.__init__AsyncIcodeAPI.__init__timeout参数
增加IcodeAPI.getScratchAssetAsyncIcodeAPI.getScratchAsset函数以获取scratch作品资源
增加getUserIdFromUrl函数
增加icodeapi.tools模块封装一些实用工具
修复3~4个bug,给IcodeAPI.submitWorkAsyncIcodeAPI.submitWork添加workDetail参数,添加workCode参数默认值,且workType现在允许"scratch"和"python"这样的写法
IcodeAPI.getWorkDetailAsyncIcodeAPI.getWorkDetail增加了addBrowseNum参数,优化了部分代码

设置连接池超时

现在可以设置IcodeAPIAsyncIcodeAPI内部使用的httpx连接池的超时时间。

from icodeapi import IcodeAPI
user = IcodeAPI(timeout = None) # 永不超时
workId = input("Enter work id: ")
i = 0
while i < 1000:
    user.getWorkDetail(workId = workId) # 刷取浏览量
    i = i + 1

获取scratch作品资源

现在可以使用IcodeAPI.getScratchAssetAsyncIcodeAPI.getScratchAsset来获取scratch作品资源。

from icodeapi import IcodeAPI
user = IcodeAPI()
md5ext = input('Enter asset md5ext: ')
with open('asset.png', 'wb') as f: # 以二进制方式打开
    data = user.getScratchAsset(md5ext = md5ext)
    f.write(data) # 写入文件

从网址中获取用户Id

现在可以使用getUserIdFromUrl来从网址中获取用户Id。

from icodeapi import getUserIdFromUrl
print(getUserIdFromUrl('https://icodeshequ.youdao.com/personal?userId=qqCD6566A4CF1F39111AE5246D138220CA')) # qqCD6566A4CF1F39111AE5246D138220CA

tools模块

新增了tools模块,封装了一些实用的函数,例如下载作品DownloadWork
文档内已增加tools模块的单独文档,想要详细了解可以前往此处。

from icodeapi.tools import DownloadWork
import asyncio
async def main():
    workId = input('Enter work id: ')
    await DownloadWork(workId = workId, path = '.\\') # 下载到当前目录
asyncio.run(main())

更便捷地发布作品

IcodeAPI.submitWorkAsyncIcodeAPI.submitWork添加workDetail参数,添加workCode参数默认值,且workType现在允许"scratch"和"python"这样的写法。
详细请见操作文档

更加精细的控制

IcodeAPI.getWorkDetailAsyncIcodeAPI.getWorkDetail添加了addBrowseNum参数,以控制在获取作品信息时是否增加浏览量。

from icodeapi import IcodeAPI
user = IcodeAPI()
workId = input('Enter work id: ')
print(user.getWorkDetail(workId = workId, addBrowseNum = False))