Skip to content

Commit a2210d4

Browse files
committed
wonderful python
1 parent 2d3f0d5 commit a2210d4

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

concurrent_test/D8ger.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
import argparse
4+
import random
5+
import time
6+
7+
import requests
8+
9+
10+
def main():
11+
parser = argparse.ArgumentParser(description="并发执行接口")
12+
parser.add_argument("-l", "--loop", type=int, default=20, help="下载次数默认20")
13+
parser.add_argument("-d", "--delay", type=int, default=5, help="延时默认5秒")
14+
args = parser.parse_args()
15+
loop = args.loop
16+
if loop < 0:
17+
loop = 20
18+
delay = args.delay
19+
if delay < 0:
20+
delay = 5
21+
print("参数设置结果: 下载次数=[{}], 延时=[{}]s".format(loop, delay))
22+
tasks = list(range(1, loop + 1))
23+
download_url = "https://plugins.jetbrains.com/plugin/download?rel=true&updateId=92649"
24+
# 添加头部,伪装浏览器,字典格式
25+
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'}
26+
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'}
27+
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+
for i in tasks:
29+
print("执行第[{}]次下载任务".format(i))
30+
# 随机获取浏览器代理
31+
seed = random.randint(0, 10000)
32+
mod = seed % 3
33+
headers = headers_0
34+
if mod == 1:
35+
headers = headers_1
36+
if mod == 2:
37+
headers = headers_2
38+
39+
jet = requests.get(download_url, headers=headers)
40+
41+
file_name = "D8{}.zip".format(i)
42+
43+
# 下载文件
44+
with open(file_name, "wb") as d8ger_writer:
45+
d8ger_writer.write(jet.content)
46+
47+
# 延时5秒执行
48+
time.sleep(delay)
49+
50+
51+
if __name__ == '__main__':
52+
main()

0 commit comments

Comments
 (0)