diff --git a/TikTok.py b/TikTok.py index a1c1c5a..263b988 100644 --- a/TikTok.py +++ b/TikTok.py @@ -538,7 +538,7 @@ class TikTok(object): os.remove(filepath) print("[ 错误 ]:下载出错\r") - def awemeDownload(self, awemeDict: dict, music=True, cover=True, avatar=True, savePath=os.getcwd(), usingThread = True): + def awemeDownload(self, awemeDict: dict, music=True, cover=True, avatar=True, resjson=True, savePath=os.getcwd(), usingThread = True): if awemeDict is None: return if not os.path.exists(savePath): @@ -553,12 +553,13 @@ class TikTok(object): # 保存获取到的字典信息 # print("[ 提示 ]:正在保存获取到的信息到 result.json\r\n") - try: - with open(os.path.join(aweme_path, "result.json"), "w", encoding='utf-8') as f: - f.write(json.dumps(awemeDict, ensure_ascii=False, indent=2)) - f.close() - except Exception as e: - print("[ 错误 ]:保存 result.json 失败\r\n") + if resjson: + try: + with open(os.path.join(aweme_path, "result.json"), "w", encoding='utf-8') as f: + f.write(json.dumps(awemeDict, ensure_ascii=False, indent=2)) + f.close() + except Exception as e: + print("[ 错误 ]:保存 result.json 失败\r\n") desc = file_name[:30] # 下载 视频 @@ -662,7 +663,7 @@ class TikTok(object): except Exception as e: print("[ 错误 ]:下载作品时出错\r\n") - def userDownload(self, awemeList: list, music=True, cover=True, avatar=True, savePath=os.getcwd(), thread=5): + def userDownload(self, awemeList: list, music=True, cover=True, avatar=True, resjson=True, savePath=os.getcwd(), thread=5): if awemeList is None: return if not os.path.exists(savePath): @@ -675,7 +676,7 @@ class TikTok(object): for aweme in awemeList: # print("[ 提示 ]:正在下载 [%s] 的作品 %s/%s\r\n" # % (aweme["author"]["nickname"], str(ind + 1), len(awemeList))) - self.awemeDownload(aweme, music, cover, avatar, savePath) + self.awemeDownload(awemeDict=aweme, music=music, cover=cover, avatar=avatar, resjson=resjson, savePath=savePath,usingThread=True) wait(self.alltask, return_when=ALL_COMPLETED) end = time.time() # 结束时间 diff --git a/TikTokCommand.py b/TikTokCommand.py index 837db49..c3209f2 100644 --- a/TikTokCommand.py +++ b/TikTokCommand.py @@ -33,6 +33,8 @@ def argument(): type=Utils().str2bool, required=False, default=True) parser.add_argument("--avatar", "-a", help="是否下载作者的头像(True/False), 默认为True", type=Utils().str2bool, required=False, default=True) + parser.add_argument("--json", "-j", help="是否保存获取到的数据(True/False), 默认为True", + type=Utils().str2bool, required=False, default=True) parser.add_argument("--mode", "-M", help="link是个人主页时, 设置下载发布的作品(post)或喜欢的作品(like)或者用户所有合集(mix), 默认为post", type=str, required=False, default="post") parser.add_argument("--number", "-n", @@ -59,7 +61,7 @@ def main(): return elif key_type == "user" and args.mode != 'mix': datalist = tk.getUserInfo(key, args.mode, 35, args.number) - tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, + tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, resjson=args.json, savePath=args.path, thread=args.thread) elif key_type == "user" and args.mode == 'mix': if not os.path.exists(args.path): @@ -70,31 +72,32 @@ def main(): print(f'[ 提示 ]:正在下载合集 [{mixIdNameDict[mix_id]}] 中的作品\r\n') mix_file_name = utils.replaceStr(mixIdNameDict[mix_id]) datalist = tk.getMixInfo(mix_id, 35) - tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, + tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, resjson=args.json, savePath=os.path.join(args.path, mix_file_name), thread=args.thread) print(f'[ 提示 ]:合集 [{mixIdNameDict[mix_id]}] 中的作品下载完成\r\n') elif key_type == "mix": datalist = tk.getMixInfo(key,35, args.number) - tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, + tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, resjson=args.json, savePath=args.path, thread=args.thread) elif key_type == "music": datalist = tk.getMusicInfo(key,35, args.number) - tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, + tk.userDownload(awemeList=datalist, music=args.music, cover=args.cover, avatar=args.avatar, resjson=args.json, savePath=args.path, thread=args.thread) elif key_type == "aweme": datanew, dataraw = tk.getAwemeInfo(key) - tk.awemeDownload(awemeDict=datanew, music=args.music, cover=args.cover, avatar=args.avatar, + tk.awemeDownload(awemeDict=datanew, music=args.music, cover=args.cover, avatar=args.avatar, resjson=args.json, savePath=args.path, usingThread=False) elif key_type == "live": live_json = tk.getLiveInfo(key) - if not os.path.exists(args.path): - os.mkdir(args.path) + if args.json: + if not os.path.exists(args.path): + os.mkdir(args.path) - # 保存获取到json - print("[ 提示 ]:正在保存获取到的信息到result.json\r\n") - with open(os.path.join(args.path, "result.json"), "w", encoding='utf-8') as f: - f.write(json.dumps(live_json, ensure_ascii=False, indent=2)) - f.close() + # 保存获取到json + print("[ 提示 ]:正在保存获取到的信息到result.json\r\n") + with open(os.path.join(args.path, "result.json"), "w", encoding='utf-8') as f: + f.write(json.dumps(live_json, ensure_ascii=False, indent=2)) + f.close() if __name__ == "__main__":