zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Java中获取键盘输入值的三种方法
    java多线程处理与数据集合
    Apachetomcat学习
    Java之枚举
    多例设计模式与枚举
    权限管理(数据库部分)
    hdu 2458(最大独立集)
    hdu 1507(最大匹配)
    hdu 1350+hdu 1960(最小路径覆盖)
    hdu 1845(最大匹配)
  • 原文地址:https://www.cnblogs.com/haifeima/p/9962772.html
Copyright © 2011-2022 走看看