Python使用笔记20--网络操作小练习

 1 '''
 2 2、自己抓取qq群的接口,传入一个群号,然后把群成员的头像下载到本地,头像用群备注来命名,如果没有
 3     群备注,那么取昵称。
 4 '''
 5 import requests
 6  7 import os
 8 #1.获取QQ群的详细信息
 9 def get_qq_qun(qun_id):
10     url = 'https://qun.qq.com/cgi-bin/qun_mgr/search_group_members'
11     header = {'cookie':'pgv_pvi=7783950336; pgv_pvid=8908705984; RK=x9TQxyyNRp; ptcz=d3d09a82f55c4d70013f0c76c2999c164031500b8ad8275f2cedc1ad7eb6f645; o_cookie=1123414020; traceid=b95a10848e; _qpsvr_localtk=0.8892980624588567; pgv_si=s6860340224; uin=o1123414020; skey=@YbRkuD86i; p_uin=o1123414020; pt4_token=zgfqVQSNiYYTHUWqQ3VRf-7A3vArZeEEEwE2G6JuNkY_; p_skey=N2c4PpTl4ueg2bwOAkrT*T7jAQcvipdf-lZsHph0KIc_'}
12     d = {'gc':qun_id,'st':0,'end':20,'sort':0,'bkn':'1391710829'}
13     req = requests.post(url,data=d,headers=header)
14     if not os.path.exists(qun_id):#文件夹不存在,则创建文件夹
15         create_dir(qun_id)
16 
17     print(req.json())
18     if req.json().get('ec')==0:#查询结果正常,则进行文件下载
19         mems = req.json().get('mems')#获取群成员信息
20         #遍历群人员
21         for mem_value in mems:
22             qq_id = mem_value.get('uin')#获取QQ号
23             file_name = mem_value.get('card')#获取群昵称
24             if not file_name:#如果没有设置群昵称,再去QQ名作为图片名称
25                 file_name = mem_value.get('nick')#获取QQ名
26             file_path = os.path.join(qun_id,file_name+'.jpg')
27             download_file(qq_id,file_path)
28     else:
29         print('查询的群号不存在')
30 
31 #根据群号,生成一个文件夹
32 def create_dir(qun_id):
33     os.mkdir(qun_id)
34 
35 
36 def download_file(qq_id,file_path):
37     url = 'https://q4.qlogo.cn/g?b=qq&nk=%s&s=140'%qq_id
38     req = requests.get(url)
39     content = req.content
40     file = open(file_path, 'wb')
41     file.write(content)
42     file.close()
43 
44 get_qq_qun('fdsfrewrwe')

猜你喜欢

转载自www.cnblogs.com/cjxxl1213/p/12968292.html