Skip to content

Commit 112756d

Browse files
committed
change default value
1 parent 82ef220 commit 112756d

File tree

1 file changed

+61
-18
lines changed

1 file changed

+61
-18
lines changed

concurrent_test/D8ger.py

Lines changed: 61 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,49 @@
88
import logging
99

1010

11+
def user_agent() -> list:
12+
opera_1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50'}
13+
opera_2 = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50'}
14+
opera_3 = {'User-Agent': 'Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10'}
15+
firefox_1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'}
16+
firefox_2 = {'User-Agent': 'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10'}
17+
safari = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'}
18+
chrome_1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'}
19+
chrome_2 = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'}
20+
chrome_3 = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16'}
21+
taobao = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11'}
22+
liebao_1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER'}
23+
liebao_2 = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)'}
24+
qq_1 = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)'}
25+
qq_2 = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)'}
26+
qq_3 = {'User-Agent': 'MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'}
27+
sougou_1 = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0'}
28+
sougou_2 = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)'}
29+
maxthon = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.3.4000 Chrome/30.0.1599.101 Safari/537.36'}
30+
uc = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36'}
31+
iphone = {'User-Agent': 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'}
32+
ipod = {'User-Agent': 'Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'}
33+
ipad_1 = {'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'}
34+
ipad_2 = {'User-Agent': 'Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5'}
35+
android_1 = {'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'}
36+
android_2 = {'User-Agent': 'Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'}
37+
pad_moto_xoom = {'User-Agent': 'Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'}
38+
black_berry = {'User-Agent': 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+'}
39+
hp_touch_pad = {'User-Agent': 'Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0'}
40+
nokia_n97 = {'User-Agent': 'Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124'}
41+
windows_phone_mango = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)'}
42+
first_list = [opera_1, opera_2, opera_3, firefox_1, firefox_2, safari]
43+
second_list = [chrome_1, chrome_2, chrome_3, taobao, liebao_1, liebao_2]
44+
third_list = [qq_1, qq_2, qq_3, sougou_1, sougou_2, maxthon, uc, iphone]
45+
fourth_list = [ipod, ipad_1, ipad_2, android_1, android_2, pad_moto_xoom]
46+
fifth_list = [black_berry, hp_touch_pad, nokia_n97, windows_phone_mango]
47+
first_list.extend(second_list)
48+
first_list.extend(third_list)
49+
first_list.extend(fourth_list)
50+
first_list.extend(fifth_list)
51+
return first_list
52+
53+
1154
def build_logs():
1255
# 设置log名称
1356
log_name = "v5.log"
@@ -32,41 +75,36 @@ def build_logs():
3275
return logger
3376

3477

35-
def main():
78+
def execute_download():
3679
parser = argparse.ArgumentParser(description="帝八嫂的小秘密")
37-
parser.add_argument("-l", "--loop", type=int, default=20, help="下载次数默认20")
38-
parser.add_argument("-d", "--delay", type=int, default=5, help="延时默认5秒")
80+
parser.add_argument("-l", "--loop", type=int, default=200, help="下载次数默认200")
81+
parser.add_argument("-d", "--delay", type=int, default=0, help="延时默认0秒")
3982
args = parser.parse_args()
4083
loop = args.loop
4184
if loop < 0:
42-
loop = 20
85+
loop = 200
4386
delay = args.delay
4487
if delay < 0:
45-
delay = 5
88+
delay = 0
4689
# 日志
4790
logger = build_logs()
4891
logger.debug("参数设置结果: 下载次数=[{}], 延时=[{}]s".format(loop, delay))
4992
tasks = list(range(1, loop + 1))
5093
download_url = "https://plugins.jetbrains.com/plugin/download?rel=true&updateId=92649"
5194
# 添加头部,伪装浏览器,字典格式
52-
headers_0 = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.103 Safari/537.36'}
53-
headers_1 = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
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'}
95+
agent_list = user_agent()
96+
gama = len(agent_list)
5597
failed = 0
5698
for i in tasks:
5799
logger.debug("执行第[{}]次下载任务".format(i))
58100
# 随机获取浏览器代理
59-
seed = random.randint(0, 500)
60-
mod = seed % 3
61-
headers = headers_0
62-
if mod == 1:
63-
headers = headers_1
64-
if mod == 2:
65-
headers = headers_2
101+
seed = random.randint(0, 1000)
102+
index = seed % gama
103+
headers = agent_list[index]
66104
file_name = "D8{}.zip".format(i)
67105
try:
68-
logger.debug("第[{}]次下载任务选取浏览器代理[{}]".format(i, headers))
69-
jet = requests.get(download_url, headers=headers)
106+
logger.debug("第[{}]次下载任务: [随机数={}], [索引={}],\n[浏览器代理={}]".format(i, seed, index, headers))
107+
jet = requests.get(download_url, headers=headers, timeout=600)
70108
# 下载文件
71109
with open(file_name, "wb") as d8ger_writer:
72110
d8ger_writer.write(jet.content)
@@ -78,9 +116,14 @@ def main():
78116
continue
79117
# 延时5秒执行
80118
logger.debug("文件[{}]下载完成".format(file_name))
81-
time.sleep(delay)
119+
if delay > 0:
120+
time.sleep(delay)
82121
logger.debug("失败[{}]次, 成功下载[{}]次".format(failed, loop - failed))
83122

84123

124+
def main():
125+
execute_download()
126+
127+
85128
if __name__ == '__main__':
86129
main()

0 commit comments

Comments
 (0)