From b600691df6087b9eed773f475fa1c4977397afdd Mon Sep 17 00:00:00 2001 From: Carol <947752894@qq.com> Date: Sat, 9 Sep 2023 10:30:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=BC=94=E5=91=98deta?= =?UTF-8?q?il=E4=BF=A1=E6=81=AF=E4=B8=8D=E5=AD=98=E5=9C=A8=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scrape.py | 39 ++++++++++++++++++++------------------- tmdb.py | 20 +++++++++++--------- 2 files changed, 31 insertions(+), 28 deletions(-) diff --git a/scrape.py b/scrape.py index c4af1e5..45ad747 100644 --- a/scrape.py +++ b/scrape.py @@ -28,23 +28,24 @@ def __execute(log, dir_path, output, tmdb_token, language="zh-CN"): __nfo_data = Analyze(file_path=__file_path).analyze() for __actor in __nfo_data["actors"]: log.logger.warn("当前解析的演员信息: {0}".format(__actor)) - __tmdbid = __actor["tmdbid"] - __actor_name = __actor["name"] - __name = __actor_name[0].lower() - __full_actor_name = __actor_name + "-tmdb-" + __tmdbid - __path_dir = os.path.join(output, __name, __full_actor_name) - if not os.path.exists(__path_dir): - os.makedirs(__path_dir) - # 如果存在元数据则不再进行刮削 - if "person.nfo" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, - language=language).create_actor_nfo() - else: - log.logger.info("当前路径已存在person.nfo文件, 跳过刮削:{0}".format(__path_dir)) - # 如果存在海报则不再进行刮削 - if "folder.jpg" not in os.listdir(__path_dir): - Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, - language=language).get_actor_image() - else: - log.logger.info("当前路径已存在folder.jpg文件, 跳过刮削:{0}".format(__path_dir)) + if "tmdbid" in __actor.keys(): + __tmdbid = __actor["tmdbid"] + __actor_name = __actor["name"] + __name = __actor_name[0].lower() + __full_actor_name = __actor_name + "-tmdb-" + __tmdbid + __path_dir = os.path.join(output, __name, __full_actor_name) + if not os.path.exists(__path_dir): + os.makedirs(__path_dir) + # 如果存在元数据则不再进行刮削 + if "person.nfo" not in os.listdir(__path_dir): + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, + language=language).create_actor_nfo() + else: + log.logger.info("当前路径已存在person.nfo文件, 跳过刮削:{0}".format(__path_dir)) + # 如果存在海报则不再进行刮削 + if "folder.jpg" not in os.listdir(__path_dir): + Tmdb(log=log, tmdb_id=__tmdbid, actor_path=__path_dir, tmdb_token=tmdb_token, + language=language).get_actor_image() + else: + log.logger.info("当前路径已存在folder.jpg文件, 跳过刮削:{0}".format(__path_dir)) log.logger.info("------------------- 结束获取演员元数据及海报 -------------------") diff --git a/tmdb.py b/tmdb.py index cefbb14..3b856cd 100644 --- a/tmdb.py +++ b/tmdb.py @@ -38,15 +38,17 @@ class Tmdb: return "{}" def get_actor_image(self): - image_path = json.loads(self.get_actor_info())["profile_path"] - self.log.logger.info("当前刮削到的演员海报路径:{0}".format(image_path)) - if None is not image_path: - url = image_url + '/t/p/original' + image_path - response = requests.get(url) - if response.status_code == 200: - suffix = image_path.split(".")[1] - with open(os.path.join(self.actor_path, "folder." + suffix), 'wb') as f: - f.write(response.content) + ac_json = json.loads(self.get_actor_info()) + if len(ac_json.keys()) > 0: + image_path = json.loads(self.get_actor_info())["profile_path"] + self.log.logger.info("当前刮削到的演员海报路径:{0}".format(image_path)) + if None is not image_path: + url = image_url + '/t/p/original' + image_path + response = requests.get(url) + if response.status_code == 200: + suffix = image_path.split(".")[1] + with open(os.path.join(self.actor_path, "folder." + suffix), 'wb') as f: + f.write(response.content) def __translations(self): url = api_url + "/3/person/" + self.tmdb_id + "/translations"