5
5
import time
6
6
7
7
import requests
8
+ import logging
9
+
10
+
11
+ def build_logs ():
12
+ # 设置log名称
13
+ log_name = "v5.log"
14
+ # 定义logger
15
+ logger = logging .getLogger ()
16
+ # 设置级别为debug
17
+ logger .setLevel (level = logging .DEBUG )
18
+ # 设置 logging文件名称
19
+ handler = logging .FileHandler (log_name )
20
+ # 设置级别为debug
21
+ handler .setLevel (logging .DEBUG )
22
+ # 设置log的格式
23
+ formatter = logging .Formatter ('%(asctime)s - %(levelname)s - %(message)s' )
24
+ # 将格式压进logger
25
+ handler .setFormatter (formatter )
26
+ console = logging .StreamHandler ()
27
+ console .setLevel (logging .DEBUG )
28
+ # 写入logger
29
+ logger .addHandler (handler )
30
+ logger .addHandler (console )
31
+ # 将logger返回
32
+ return logger
8
33
9
34
10
35
def main ():
@@ -18,7 +43,9 @@ def main():
18
43
delay = args .delay
19
44
if delay < 0 :
20
45
delay = 5
21
- print ("参数设置结果: 下载次数=[{}], 延时=[{}]s" .format (loop , delay ))
46
+ # 日志
47
+ logger = build_logs ()
48
+ logger .debug ("参数设置结果: 下载次数=[{}], 延时=[{}]s" .format (loop , delay ))
22
49
tasks = list (range (1 , loop + 1 ))
23
50
download_url = "https://plugins.jetbrains.com/plugin/download?rel=true&updateId=92649"
24
51
# 添加头部,伪装浏览器,字典格式
@@ -27,7 +54,7 @@ def main():
27
54
headers_2 = {'User-Agent' : 'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5' }
28
55
failed = 0
29
56
for i in tasks :
30
- print ("执行第[{}]次下载任务" .format (i ))
57
+ logger . debug ("执行第[{}]次下载任务" .format (i ))
31
58
# 随机获取浏览器代理
32
59
seed = random .randint (0 , 500 )
33
60
mod = seed % 3
@@ -36,21 +63,23 @@ def main():
36
63
headers = headers_1
37
64
if mod == 2 :
38
65
headers = headers_2
66
+ file_name = "D8{}.zip" .format (i )
39
67
try :
68
+ logger .debug ("第[{}]次下载任务选取浏览器代理[{}]" .format (i , headers ))
40
69
jet = requests .get (download_url , headers = headers )
41
- file_name = "D8{}.zip" .format (i )
42
70
# 下载文件
43
71
with open (file_name , "wb" ) as d8ger_writer :
44
72
d8ger_writer .write (jet .content )
45
73
except Exception as e :
46
74
# 服务端关闭连接, 防火墙超时关闭连接, 或其他异常
47
- print ("第[{}]次下载任务出现异常, 原因: {}" .format (i , e ))
75
+ logger . error ("第[{}]次下载任务出现异常, 原因: {}" .format (i , e ))
48
76
failed += 1
49
77
# 继续下一次
50
78
continue
51
79
# 延时5秒执行
80
+ logger .debug ("文件[{}]下载完成" .format (file_name ))
52
81
time .sleep (delay )
53
- print ("失败[{}]次, 成功下载[{}]次" , failed , loop - failed )
82
+ logger . debug ("失败[{}]次, 成功下载[{}]次" . format ( failed , loop - failed ) )
54
83
55
84
56
85
if __name__ == '__main__' :
0 commit comments