mirror of
https://github.com/imgyh/tiktok.git
synced 2025-04-26 00:46:35 +08:00
fix(tiktok): 增加文件下载失败重试机制
This commit is contained in:
parent
38fc76826d
commit
794632d6c5
12
TikTok.py
12
TikTok.py
@ -600,6 +600,7 @@ class TikTok(object):
|
|||||||
try:
|
try:
|
||||||
url = awemeDict["video"]["play_addr"]["url_list"]
|
url = awemeDict["video"]["play_addr"]["url_list"]
|
||||||
if url != "":
|
if url != "":
|
||||||
|
self.isdwownload = False
|
||||||
task_id = self.progress.add_task("download", filename="[ 视频 ]:" + desc, start=False)
|
task_id = self.progress.add_task("download", filename="[ 视频 ]:" + desc, start=False)
|
||||||
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, video_path))
|
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, video_path))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -617,6 +618,7 @@ class TikTok(object):
|
|||||||
try:
|
try:
|
||||||
url = image["url_list"][0]
|
url = image["url_list"][0]
|
||||||
if url != "":
|
if url != "":
|
||||||
|
self.isdwownload = False
|
||||||
task_id = self.progress.add_task("download", filename="[ 图集 ]:" + desc, start=False)
|
task_id = self.progress.add_task("download", filename="[ 图集 ]:" + desc, start=False)
|
||||||
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, image_path))
|
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, image_path))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -635,6 +637,7 @@ class TikTok(object):
|
|||||||
try:
|
try:
|
||||||
url = awemeDict["music"]["play_url"]["url_list"][0]
|
url = awemeDict["music"]["play_url"]["url_list"][0]
|
||||||
if url != "":
|
if url != "":
|
||||||
|
self.isdwownload = False
|
||||||
task_id = self.progress.add_task("download", filename="[ 原声 ]:" + desc, start=False)
|
task_id = self.progress.add_task("download", filename="[ 原声 ]:" + desc, start=False)
|
||||||
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, music_path))
|
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, music_path))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -652,6 +655,7 @@ class TikTok(object):
|
|||||||
try:
|
try:
|
||||||
url = awemeDict["video"]["cover_original_scale"]["url_list"][0]
|
url = awemeDict["video"]["cover_original_scale"]["url_list"][0]
|
||||||
if url != "":
|
if url != "":
|
||||||
|
self.isdwownload = False
|
||||||
task_id = self.progress.add_task("download", filename="[ 封面 ]:" + desc, start=False)
|
task_id = self.progress.add_task("download", filename="[ 封面 ]:" + desc, start=False)
|
||||||
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, cover_path))
|
self.alltask.append(self.pool.submit(self.copy_url, task_id, url, cover_path))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -666,6 +670,7 @@ class TikTok(object):
|
|||||||
# print("[ 提示 ]:avatar 已存在为您跳过...\r\n")
|
# print("[ 提示 ]:avatar 已存在为您跳过...\r\n")
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
self.isdwownload = False
|
||||||
try:
|
try:
|
||||||
url = awemeDict["author"]["avatar"]["url_list"][0]
|
url = awemeDict["author"]["avatar"]["url_list"][0]
|
||||||
if url != "":
|
if url != "":
|
||||||
@ -691,17 +696,22 @@ class TikTok(object):
|
|||||||
for aweme in awemeList:
|
for aweme in awemeList:
|
||||||
self.awemeDownload(awemeDict=aweme, music=music, cover=cover, avatar=avatar, resjson=resjson, savePath=savePath)
|
self.awemeDownload(awemeDict=aweme, music=music, cover=cover, avatar=avatar, resjson=resjson, savePath=savePath)
|
||||||
# time.sleep(0.5)
|
# time.sleep(0.5)
|
||||||
|
while True:
|
||||||
wait(self.alltask, return_when=ALL_COMPLETED)
|
wait(self.alltask, return_when=ALL_COMPLETED)
|
||||||
# 清除上一步的进度条
|
# 清除上一步的进度条
|
||||||
for taskid in self.progress.task_ids:
|
for taskid in self.progress.task_ids:
|
||||||
self.progress.remove_task(taskid)
|
self.progress.remove_task(taskid)
|
||||||
|
|
||||||
|
self.isdwownload = True
|
||||||
# 下载上一步失败的
|
# 下载上一步失败的
|
||||||
with self.progress:
|
with self.progress:
|
||||||
with ThreadPoolExecutor(max_workers=thread) as self.pool:
|
with ThreadPoolExecutor(max_workers=thread) as self.pool:
|
||||||
self.progress.console.log("正在重试下载失败的内容...")
|
self.progress.console.log("正在检查下载是否完成...")
|
||||||
for aweme in awemeList:
|
for aweme in awemeList:
|
||||||
self.awemeDownload(awemeDict=aweme, music=music, cover=cover, avatar=avatar, resjson=resjson, savePath=savePath)
|
self.awemeDownload(awemeDict=aweme, music=music, cover=cover, avatar=avatar, resjson=resjson, savePath=savePath)
|
||||||
# time.sleep(0.5)
|
# time.sleep(0.5)
|
||||||
|
if self.isdwownload:
|
||||||
|
break
|
||||||
|
|
||||||
wait(self.alltask, return_when=ALL_COMPLETED)
|
wait(self.alltask, return_when=ALL_COMPLETED)
|
||||||
end = time.time() # 结束时间
|
end = time.time() # 结束时间
|
||||||
|
Loading…
x
Reference in New Issue
Block a user