From 9c1aeb933e66be9521149c61939be0c99d438930 Mon Sep 17 00:00:00 2001 From: zss <22296144202@qq.com> Date: Tue, 26 Mar 2024 16:11:03 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bangumi=E4=B8=AD=E9=80=9A=E8=BF=87charact?= =?UTF-8?q?ers=E8=8E=B7=E5=8F=96=E9=85=8D=E9=9F=B3=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/bangumi/bangumi.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/app/modules/bangumi/bangumi.py b/app/modules/bangumi/bangumi.py index b92c0678..21a7a6dd 100644 --- a/app/modules/bangumi/bangumi.py +++ b/app/modules/bangumi/bangumi.py @@ -15,7 +15,8 @@ class BangumiApi(object): "calendar": "calendar", "detail": "v0/subjects/%s", "persons": "v0/subjects/%s/persons", - "subjects": "v0/subjects/%s/subjects" + "subjects": "v0/subjects/%s/subjects", + "characters": "v0/subjects/%s/characters" } _base_url = "https://api.bgm.tv/" _req = RequestUtils(session=requests.Session()) @@ -145,7 +146,17 @@ class BangumiApi(object): """ 获取番剧人物 """ - return self.__invoke(self._urls["persons"] % bid, _ts=datetime.strftime(datetime.now(), '%Y%m%d')) + ret_list = [] + result = self.__invoke(self._urls["characters"] % bid, _ts=datetime.strftime(datetime.now(), '%Y%m%d')) + if result: + for item in result: + character_id = item.get("id") + actors = item.get("actors") + if character_id and actors and actors[0]: + actor_info = actors[0] + actor_info.update({'career': [item.get('name')]}) + ret_list.append(actor_info) + return ret_list def subjects(self, bid: int): """