1 #1、获取群里所有人的信息
2 #2、判断是否有群昵称,当作下载图片的名称
3 #3、下载qq头像
4 # https://qun.qq.com/cgi-bin/qun_mgr/search_group_members
5 # gc:1078641913
6 # st:0
7 # end:40
8 # sort:0
9 # bkn:1251707812
10 # cookie: RK=eQZhxBp/Yw; ptcz=74711de1d1efdb2e31eda884cee42e9c08a8be4d89fae2663bd9055ce7fd8262; pgv_pvid=4966592960; uin=o0511402865; skey=@W8Opc4q5t; p_uin=o0511402865; pt4_token=uFWlyRQ7Flj*YFXk-XP6quUMAKHJ7-UZPs4XMLr7DEY_; p_skey=mSNrvzOwIwJamRU*6G-j5ptMGDcQ2VvUsZUNHsAGuS8_; traceid=d071397d63
11 # https://q4.qlogo.cn/g?b=qq&nk=549313033&s=140
12
13 import requests,time,traceback,os
14 from day8.homework import const
15 BKN = "1251707812"
16 HEADERS = {"cookie":"RK=eQZhxBp/Yw; ptcz=74711de1d1efdb2e31eda884cee42e9c08a8be4d89fae2663bd9055ce7fd8262; pgv_pvid=4966592960; uin=o0511402865; skey=@W8Opc4q5t; p_uin=o0511402865; pt4_token=uFWlyRQ7Flj*YFXk-XP6quUMAKHJ7-UZPs4XMLr7DEY_; p_skey=mSNrvzOwIwJamRU*6G-j5ptMGDcQ2VvUsZUNHsAGuS8_; traceid=d071397d63"}
17
18 def get_members(gc,):
19 all_members = {} #存放所有qq号和昵称
20 st = 0
21 end = 40
22 while True:
23 data = {"st":st,"end":end,"sort":0,"bkn":BKN,"gc":gc}
24 req = requests.post(const.member_url,data,headers = HEADERS)
25 members = req.json().get("mems")
26 if members:
27 for mem in members:
28 qq = mem.get("uin")
29 nick = mem.get("card") if mem.get("card") else mem.get("nick")
30 all_members[qq] = nick
31 else:
32 return all_members
33 st = st+40+1
34 end = st+40
35
36 def down_load_file(url,file_name):
37 try:
38 req = requests.get(url)
39 except:
40 print("下载出错,url:%s" % url)
41 else:
42 with open(file_name,"wb") as fw:
43 print("%s 下载完成" % file_name)
44 fw.write(req.content)
45
46 def main(gc):
47 gc = str(gc)
48 all_members = get_members(gc)
49 if not os.path.exists(gc):
50 os.mkdir(gc)
51 os.chdir(gc)
52 for qq,file_name in all_members.items():
53 url = const.image_url % qq
54 file_name = file_name + ".jpg"
55 down_load_file(url,file_name)
56 print("下载完成")
57
58
59
60
61 if __name__ == '__main__':
62 main(634655327)