mirror of
https://github.com/imgyh/tiktok.git
synced 2025-06-14 23:39:16 +08:00
feat(tiktok): 增加json数据是否保存的开关
This commit is contained in:
parent
c5b9ec5faf
commit
8ea8871cc8
19
TikTok.py
19
TikTok.py
@ -538,7 +538,7 @@ class TikTok(object):
|
|||||||
os.remove(filepath)
|
os.remove(filepath)
|
||||||
print("[ 错误 ]:下载出错\r")
|
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:
|
if awemeDict is None:
|
||||||
return
|
return
|
||||||
if not os.path.exists(savePath):
|
if not os.path.exists(savePath):
|
||||||
@ -553,12 +553,13 @@ class TikTok(object):
|
|||||||
|
|
||||||
# 保存获取到的字典信息
|
# 保存获取到的字典信息
|
||||||
# print("[ 提示 ]:正在保存获取到的信息到 result.json\r\n")
|
# print("[ 提示 ]:正在保存获取到的信息到 result.json\r\n")
|
||||||
try:
|
if resjson:
|
||||||
with open(os.path.join(aweme_path, "result.json"), "w", encoding='utf-8') as f:
|
try:
|
||||||
f.write(json.dumps(awemeDict, ensure_ascii=False, indent=2))
|
with open(os.path.join(aweme_path, "result.json"), "w", encoding='utf-8') as f:
|
||||||
f.close()
|
f.write(json.dumps(awemeDict, ensure_ascii=False, indent=2))
|
||||||
except Exception as e:
|
f.close()
|
||||||
print("[ 错误 ]:保存 result.json 失败\r\n")
|
except Exception as e:
|
||||||
|
print("[ 错误 ]:保存 result.json 失败\r\n")
|
||||||
|
|
||||||
desc = file_name[:30]
|
desc = file_name[:30]
|
||||||
# 下载 视频
|
# 下载 视频
|
||||||
@ -662,7 +663,7 @@ class TikTok(object):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("[ 错误 ]:下载作品时出错\r\n")
|
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:
|
if awemeList is None:
|
||||||
return
|
return
|
||||||
if not os.path.exists(savePath):
|
if not os.path.exists(savePath):
|
||||||
@ -675,7 +676,7 @@ class TikTok(object):
|
|||||||
for aweme in awemeList:
|
for aweme in awemeList:
|
||||||
# print("[ 提示 ]:正在下载 [%s] 的作品 %s/%s\r\n"
|
# print("[ 提示 ]:正在下载 [%s] 的作品 %s/%s\r\n"
|
||||||
# % (aweme["author"]["nickname"], str(ind + 1), len(awemeList)))
|
# % (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)
|
wait(self.alltask, return_when=ALL_COMPLETED)
|
||||||
end = time.time() # 结束时间
|
end = time.time() # 结束时间
|
||||||
|
@ -33,6 +33,8 @@ def argument():
|
|||||||
type=Utils().str2bool, required=False, default=True)
|
type=Utils().str2bool, required=False, default=True)
|
||||||
parser.add_argument("--avatar", "-a", help="是否下载作者的头像(True/False), 默认为True",
|
parser.add_argument("--avatar", "-a", help="是否下载作者的头像(True/False), 默认为True",
|
||||||
type=Utils().str2bool, required=False, default=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",
|
parser.add_argument("--mode", "-M", help="link是个人主页时, 设置下载发布的作品(post)或喜欢的作品(like)或者用户所有合集(mix), 默认为post",
|
||||||
type=str, required=False, default="post")
|
type=str, required=False, default="post")
|
||||||
parser.add_argument("--number", "-n",
|
parser.add_argument("--number", "-n",
|
||||||
@ -59,7 +61,7 @@ def main():
|
|||||||
return
|
return
|
||||||
elif key_type == "user" and args.mode != 'mix':
|
elif key_type == "user" and args.mode != 'mix':
|
||||||
datalist = tk.getUserInfo(key, args.mode, 35, args.number)
|
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)
|
savePath=args.path, thread=args.thread)
|
||||||
elif key_type == "user" and args.mode == 'mix':
|
elif key_type == "user" and args.mode == 'mix':
|
||||||
if not os.path.exists(args.path):
|
if not os.path.exists(args.path):
|
||||||
@ -70,31 +72,32 @@ def main():
|
|||||||
print(f'[ 提示 ]:正在下载合集 [{mixIdNameDict[mix_id]}] 中的作品\r\n')
|
print(f'[ 提示 ]:正在下载合集 [{mixIdNameDict[mix_id]}] 中的作品\r\n')
|
||||||
mix_file_name = utils.replaceStr(mixIdNameDict[mix_id])
|
mix_file_name = utils.replaceStr(mixIdNameDict[mix_id])
|
||||||
datalist = tk.getMixInfo(mix_id, 35)
|
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)
|
savePath=os.path.join(args.path, mix_file_name), thread=args.thread)
|
||||||
print(f'[ 提示 ]:合集 [{mixIdNameDict[mix_id]}] 中的作品下载完成\r\n')
|
print(f'[ 提示 ]:合集 [{mixIdNameDict[mix_id]}] 中的作品下载完成\r\n')
|
||||||
elif key_type == "mix":
|
elif key_type == "mix":
|
||||||
datalist = tk.getMixInfo(key,35, args.number)
|
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)
|
savePath=args.path, thread=args.thread)
|
||||||
elif key_type == "music":
|
elif key_type == "music":
|
||||||
datalist = tk.getMusicInfo(key,35, args.number)
|
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)
|
savePath=args.path, thread=args.thread)
|
||||||
elif key_type == "aweme":
|
elif key_type == "aweme":
|
||||||
datanew, dataraw = tk.getAwemeInfo(key)
|
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)
|
savePath=args.path, usingThread=False)
|
||||||
elif key_type == "live":
|
elif key_type == "live":
|
||||||
live_json = tk.getLiveInfo(key)
|
live_json = tk.getLiveInfo(key)
|
||||||
if not os.path.exists(args.path):
|
if args.json:
|
||||||
os.mkdir(args.path)
|
if not os.path.exists(args.path):
|
||||||
|
os.mkdir(args.path)
|
||||||
|
|
||||||
# 保存获取到json
|
# 保存获取到json
|
||||||
print("[ 提示 ]:正在保存获取到的信息到result.json\r\n")
|
print("[ 提示 ]:正在保存获取到的信息到result.json\r\n")
|
||||||
with open(os.path.join(args.path, "result.json"), "w", encoding='utf-8') as f:
|
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.write(json.dumps(live_json, ensure_ascii=False, indent=2))
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user