-
Notifications
You must be signed in to change notification settings - Fork 0
/
run_blibli.py
62 lines (50 loc) · 2.39 KB
/
run_blibli.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*- coding:utf-8 -*-
import os
import time
from download.bilibili_video_download_v1 import download_file
from threading import Thread
from common import functions, global_data
from common.log import log
redis_key = 'blibli_video_tasks'
def DLD_FILE(task_list):
p_list = list()
for data in task_list:
p = Thread(target=download_file, args=(data['video_id'], data['cid']))
p_list.append(p)
for p in p_list:
p.start()
for p in p_list:
p.join()
def print_status():
log(global_data.log_path, 'info', end_time, '*' * 100)
log(global_data.log_path, 'info', end_time, '本次下载开始时间: %s' % start_time)
log(global_data.log_path, 'info', end_time, '本次下载结束时间: %s' % end_time)
log(global_data.log_path, 'info', end_time, '本次获取任务数量: %s' % len(global_data.data_id_list))
log(global_data.log_path, 'info', end_time, '本次获取任务数量: %s' % len(global_data.data_id_list))
log(global_data.log_path, 'info', end_time, '本次获取下载成功数量: %s' % len(global_data.data_id_success_list))
log(global_data.log_path, 'info', end_time, '本次获取下载失败数量: %s' % len(global_data.data_id_fail_list))
log(global_data.log_path, 'info', end_time, '总任务列表如下:')
log(global_data.log_path, 'info', end_time, global_data.data_id_list)
log(global_data.log_path, 'info', end_time, '下载失败任务列表如下:')
log(global_data.log_path, 'info', end_time, global_data.data_id_fail_list)
log(global_data.log_path, 'info', end_time, '下载成功任务列表如下:')
log(global_data.log_path, 'info', end_time, global_data.data_id_success_list)
def run(t_num=5):
while True:
task_list = functions.load_task(t_num, redis_key)
if task_list:
for task in task_list:
task_id = task['video_id']
global_data.data_id_list.append(task_id)
DLD_FILE(task_list)
else:
break
if __name__ == '__main__':
start_time = functions.get_time_now()
log_name = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
log_name = ''.join(['blibli', log_name, '.txt'])
global_data.log_path = os.path.join(os.getcwd(), 'logs', log_name)
log(global_data.log_path, 'info', start_time, '开始下载任务')
run(t_num=5)
end_time = functions.get_time_now()
print_status()