mirror of
https://github.com/imgyh/tiktok.git
synced 2025-04-25 21:46:35 +08:00
feat(tiktok): 进度条滚动显示
This commit is contained in:
parent
794632d6c5
commit
20350b8889
28
TikTok.py
28
TikTok.py
@ -207,8 +207,6 @@ class TikTok(object):
|
|||||||
# 接口不稳定, 有时服务器不返回数据, 需要重新获取
|
# 接口不稳定, 有时服务器不返回数据, 需要重新获取
|
||||||
try:
|
try:
|
||||||
if mode == "post":
|
if mode == "post":
|
||||||
# referer 需要指定为如下格式
|
|
||||||
self.headers['referer'] = 'https://www.douyin.com/user/' + sec_uid
|
|
||||||
url = self.urls.USER_POST + self.utils.getXbogus(
|
url = self.urls.USER_POST + self.utils.getXbogus(
|
||||||
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&sec_user_id={sec_uid}&count={count}&max_cursor={max_cursor}')
|
url=f'device_platform=webapp&aid=6383&os_version=10&version_name=17.4.0&sec_user_id={sec_uid}&count={count}&max_cursor={max_cursor}')
|
||||||
elif mode == "like":
|
elif mode == "like":
|
||||||
@ -690,18 +688,27 @@ class TikTok(object):
|
|||||||
self.alltask = []
|
self.alltask = []
|
||||||
|
|
||||||
start = time.time() # 开始时间
|
start = time.time() # 开始时间
|
||||||
|
|
||||||
|
# 分块下载
|
||||||
|
for i in range(0, len(awemeList), thread):
|
||||||
|
batchAwemeList = awemeList[i:i + thread]
|
||||||
|
|
||||||
|
|
||||||
|
for awemeList2 in batchAwemeList:
|
||||||
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 awemeList2:
|
||||||
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)
|
||||||
|
# self.alltask = []
|
||||||
# 清除上一步的进度条
|
# 清除上一步的进度条
|
||||||
for taskid in self.progress.task_ids:
|
# for taskid in self.progress.task_ids:
|
||||||
self.progress.remove_task(taskid)
|
# self.progress.remove_task(taskid)
|
||||||
|
|
||||||
|
# 检查下载是否完成
|
||||||
|
while True:
|
||||||
self.isdwownload = True
|
self.isdwownload = True
|
||||||
# 下载上一步失败的
|
# 下载上一步失败的
|
||||||
with self.progress:
|
with self.progress:
|
||||||
@ -710,10 +717,15 @@ 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)
|
||||||
|
wait(self.alltask, return_when=ALL_COMPLETED)
|
||||||
|
# self.alltask = []
|
||||||
|
# 清除上一步的进度条
|
||||||
|
# for taskid in self.progress.task_ids:
|
||||||
|
# self.progress.remove_task(taskid)
|
||||||
|
|
||||||
if self.isdwownload:
|
if self.isdwownload:
|
||||||
break
|
break
|
||||||
|
|
||||||
wait(self.alltask, return_when=ALL_COMPLETED)
|
|
||||||
end = time.time() # 结束时间
|
end = time.time() # 结束时间
|
||||||
print('\n' + '[下载完成]:耗时: %d分钟%d秒\n' % (int((end - start) / 60), ((end - start) % 60))) # 输出下载用时时间
|
print('\n' + '[下载完成]:耗时: %d分钟%d秒\n' % (int((end - start) / 60), ((end - start) % 60))) # 输出下载用时时间
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user