用于与AniDB API通信的python接口
zenchi的Python项目详细描述
曾池
zenchi是一个python3应用程序,它与AniDB UDP API通信。它提供了一个将原始响应字符串转换为python对象的接口。它本身做的很少,它的唯一目的是解析数据以供其他应用程序使用。在
目前只支持Data命令。在
安装
pip install -U zenchi
使用
相当简单:
>>>importzenchi>>>zenchi.create_socket(anidb_server='api.anidb.net',anidb_port=9000)<socket.socket...>>>>zenchi.ping(nat=1)({'port':25065},300)
每个命令响应都是一个元组(数据、代码)。data是包含已解析响应的变量键的字典,而code是响应代码。在
环境变量
ZENCHI_CLIENTNAME
和{
如果设置了这些值,则会自动创建套接字,并且会更简单。您可以完全跳过对create_socket
的调用,只调用以下命令:
>>>importzenchi>>>zenchi.auth()({'session':'ELahj'},200)>>>zenchi.character(1)(...,235)
动画面具
ANIME
命令接收一个mask作为参数来过滤动画数据。zenchi提供了一种简单的方法来使用zenchi.mappings.anime.mask
模块创建这些掩码。在
>>>importzenchi.mappings.anime.maskasamask>>>zenchi.anime(amask.aid|amask.romaji_name|amask.english_name|amask.short_name|amask.year,aid=3433)({'aid':3433,'english_name':'Mushi-Shi','romaji_name':'Mushishi','short_name':['Mushi'],'updated_at':datetime.datetime(2019,11,10,19,55,18,1000),'year':'2005-2006'},230)
缓存
zenchi使用一个非常基本的可选MongoDB数据库作为缓存,名为anidb_cache
。它使用环境变量MONGODB_URI
检查连接字符串。如果未设置变量,则会发出警告,并忽略所有缓存使用情况(根据AniDB规范,高度未经警告)。在
任何使用缓存的操作都具有参数use_cache
,该参数默认为True
。您可以将其设置为False
,以跳过该特定命令的缓存(例如,当您想要更新缓存的数据时)。所有缓存的数据还返回一个updated_at
键(参见上面的示例),这是数据库中最后一次更新数据。在
如果不想使用anidb_cache
或MONGODB_URI
,请在向API发送请求之前使用适当的值手动调用zenchi.cache.setup
。在
特点
向zenchi添加新命令实际上相当简单,我只是编写了我个人打算使用的命令。 请随时发送个人简历或在问题中提出要求。在
许可证
这个项目得到麻省理工学院的许可。在
对于数据收集和使用,请确保读取AniDB Policies
- 项目
标签: