python作业/练习/实战:下载QQ群所有人的头像

步骤与提示:
1、在腾讯群网页中进入任意一个群,获取相关信息,可以用postman是试一下,可以看到我们要的是mems里面的数据,需要获取到QQ号和群名片,如果没有群名片的话取昵称
2、根据QQ号下载头像,图片名称为群昵称。

 

 

 

import requests
url='https://qun.qq.com/cgi-bin/qun_mgr/search_group_members'
headers={'cookie':'pt2gguin=o0511402865; RK=JQZpwBp1by; ptcz=6c30e26a9ed6be93d3de9e4c4aca3e55650cf99fcffa64729bd1d58a5fb209d9; pgv_pvi=779236352; pgv_pvid=6970909788; qb_qua=; qb_guid=818de686e29d412fa4ee9e99905ea166; Q-H5-GUID=818de686e29d412fa4ee9e99905ea166; NetType=; pgv_si=s8948704256; uin=o0511402865; skey=@4qrz3B37F; ptisp=cnc; p_uin=o0511402865; pt4_token=UEDJ1b7Mj5a2UdO21KAFwRhg3X*MQ--1ZLvEazYW8zE_; p_skey=MOjeaK1kxuqa6dFa4vq-RdlkG*cyaQ39i-Ju7HQfpf8_'}
data = {"gc":6346xx327,'st':0,'end':100,'sort':0,'bkn':3090xx635}

req=requests.post(url, data=data, headers=headers, verify=False)#发请求
# print(req.json())#发请求看一下

mems=req.json().get('mems') #获取所有学生信息,是一个list
# print(mems)# 打印看一下

for mem in mems:#取名称
    file_name = mem.get('card') if mem.get('card') else mem.get("nick")#三元表达式,取群名片,如果没有就取昵称
    # res=值1 if 条件 else 值2,复制变量的时候,直接加上判断,然后复制赋值


    qq_num=mem.get('uin')#取QQ号
    img_url='https://q4.qlogo.cn/g?b=qq&nk=%s&s=140'%qq_num#取每个QQ号的头像
    img_content=requests.get(img_url).content#下载头像,content返回二进制文件

    with open(file_name+'.jpg','wb') as fw:#保存头像,图片用群昵称作为名字
        fw.write(img_content)

 

posted @ 2018-11-15 12:12  柠檬不萌!  阅读(1290)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end