QQ群好友采集工具,爬取qq群成员, qq群成员采集软件

简介: 代码实现了一个完整的QQ群成员采集工具,包含登录验证、群列表获取、成员信息采集等功能

下载地址:https://www.pan38.com/share.php?code=JCnzE 提取密码:7789

代码实现了一个完整的QQ群成员采集工具,包含登录验证、群列表获取、成员信息采集等功能。使用时需要替换代码中的QQ号、密码和目标群号。采集到的数据会保存为JSON文件

import requests
import json
import time
import random
from fake_useragent import UserAgent
from bs4 import BeautifulSoup

class QQGroupCrawler:
def init(self, qq, password):
self.qq = qq
self.password = password
self.session = requests.Session()
self.ua = UserAgent()
self.cookies = {}
self.gtoken = ""
self.bkn = ""
self.headers = {
'User-Agent': self.ua.random,
'Referer': 'https://qun.qq.com/',
'Origin': 'https://qun.qq.com',
'Content-Type': 'application/x-www-form-urlencoded'
}

def login(self):
    # 模拟登录获取cookie
    login_url = "https://xui.ptlogin2.qq.com/cgi-bin/xlogin"
    params = {
        'appid': '715030901',
        's_url': 'https://qun.qq.com/',
        'style': '40',
        'login_text': '登录',
        'hide_title_bar': '1',
        'hide_border': '1',
        'target': 'self',
        's_url': 'https://qun.qq.com/',
        'pt_3rd_aid': '0',
        'pt_feedback_link': 'https://support.qq.com/products/32191',
        'css': 'https://qun.qq.com/login/index.html'
    }

    response = self.session.get(login_url, params=params, headers=self.headers)
    self.cookies.update(response.cookies.get_dict())

    # 获取验证码
    captcha_url = "https://ssl.ptlogin2.qq.com/check"
    params = {
        'pt_tea': '1',
        'uin': self.qq,
        'appid': '715030901',
        'js_ver': '22052614',
        'js_type': '1',
        'login_sig': '',
        'u1': 'https://qun.qq.com/',
        'r': random.random()
    }

    response = self.session.get(captcha_url, params=params, headers=self.headers)
    result = response.text.split("'")
    verifycode = result[1]
    ptsig = result[3]

    # 提交登录
    login_submit_url = "https://ssl.ptlogin2.qq.com/login"
    data = {
        'u': self.qq,
        'p': self.password,
        'verifycode': verifycode,
        'webqq_type': '10',
        'remember_uin': '1',
        'login_sig': ptsig,
        'isqrlogin': '0',
        'pt_vcode_v1': '0',
        'pt_verifysession_v1': '',
        'pt_randsalt': '2'
    }

    response = self.session.post(login_submit_url, data=data, headers=self.headers)
    self.cookies.update(response.cookies.get_dict())

    # 获取gtoken和bkn
    self._get_gtoken()
    self._get_bkn()

def _get_gtoken(self):
    url = "https://qun.qq.com/cgi-bin/qun_mgr/get_group_list"
    response = self.session.get(url, headers=self.headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    script = soup.find('script', text=lambda x: x and 'g_qunid' in x)
    if script:
        self.gtoken = script.text.split("g_qunid = '")[1].split("'")[0]

def _get_bkn(self):
    url = "https://qun.qq.com/cgi-bin/qun_mgr/get_friend_list"
    response = self.session.get(url, headers=self.headers)
    soup = BeautifulSoup(response.text, 'html.parser')
    script = soup.find('script', text=lambda x: x and 'bkn' in x)
    if script:
        self.bkn = script.text.split("bkn = ")[1].split(";")[0]

def get_group_list(self):
    url = "https://qun.qq.com/cgi-bin/qun_mgr/get_group_list"
    params = {
        'bkn': self.bkn,
        't': int(time.time() * 1000)
    }

    response = self.session.get(url, params=params, headers=self.headers)
    return json.loads(response.text)

def get_group_members(self, group_id):
    url = "https://qun.qq.com/cgi-bin/qun_mgr/search_group_members"
    data = {
        'gc': group_id,
        'st': '0',
        'end': '20',
        'sort': '0',
        'bkn': self.bkn
    }

    response = self.session.post(url, data=data, headers=self.headers)
    return json.loads(response.text)

def get_all_group_members(self, group_id, batch_size=20):
    all_members = []
    start = 0
    while True:
        url = "https://qun.qq.com/cgi-bin/qun_mgr/search_group_members"
        data = {
            'gc': group_id,
            'st': str(start),
            'end': str(start + batch_size),
            'sort': '0',
            'bkn': self.bkn
        }

        response = self.session.post(url, data=data, headers=self.headers)
        result = json.loads(response.text)

        if 'mems' not in result or not result['mems']:
            break

        all_members.extend(result['mems'])
        start += batch_size
        time.sleep(random.uniform(0.5, 1.5))  # 防止请求过于频繁

    return all_members

def save_to_file(self, data, filename):
    with open(filename, 'w', encoding='utf-8') as f:
        json.dump(data, f, ensure_ascii=False, indent=4)

def run(self, group_id):
    try:
        self.login()
        print("登录成功!")

        members = self.get_all_group_members(group_id)
        print(f"获取到 {len(members)} 个群成员")

        filename = f"qq_group_{group_id}_members.json"
        self.save_to_file(members, filename)
        print(f"数据已保存到 {filename}")

        return members
    except Exception as e:
        print(f"发生错误: {str(e)}")
        return None

if name == "main":

# 使用示例
qq = "你的QQ号"
password = "你的QQ密码"
group_id = "你要采集的QQ群号"

crawler = QQGroupCrawler(qq, password)
crawler.run(group_id)
相关文章
|
3月前
|
JSON Java 数据安全/隐私保护
qq群成员qq号一键提取, 不加群就可以提取QQ群成员, qq群成员提取器
完整的QQ群成员提取功能,包括登录验证、成员获取、数据解析和导出功能。代码结构清晰
|
3月前
|
存储 数据可视化 安全
QQ群成员采集工具, QQ群成员昵称导出工具, qq群成员采集软件
完整的QQ群成员采集工具实现方案,包含登录认证、群成员获取、数据存储和导出等完整功能。
|
Java 计算机视觉
Java调用opencv图片矫正
Java调用opencv图片矫正
1021 0
|
3月前
|
JSON 数据库 Android开发
qq群提取群成员软件, QQ群好友采集工具, qq群成员提取器安卓版
基于C++实现的QQ群成员提取工具完整代码,包含Windows桌面端和Android移动端两个版本的核心模块
|
3月前
|
数据采集 JSON 数据安全/隐私保护
小红书评论采集工具,小红书自动采集软件,Uid作品笔记用户提取
这个工具包含三个主要功能:1) 获取用户基本信息 2) 获取用户发布的笔记 3) 获取笔记下的评论
|
4月前
|
机器学习/深度学习 JSON 数据格式
快手直播间提取工具,采集直播间弹幕评论点心,最新开源框架【仅供学习参考】
这是一套快手直播弹幕接收与用户信息查询的源码,原本为客户提供定制服务,现分享出来供学习参考。代码基于 `.版本 2` 开发,支持 WebSocket 客户端连接、解析直播间数据、接收弹幕消息及用户操作(如点亮爱心),并展示在线观众数量和用户详细信息。包含多个子程序实现功能模块化,如头像获取、性别判断等。
|
3月前
|
数据安全/隐私保护 计算机视觉 Python
人脸识别图片眨眼生成器,虚拟相机过人脸软件, 秒解人脸识别软件
这个系统包含三个主要模块:人脸检测与特征点识别、虚拟相机实现和主程序入口。代码使用了dlib库
|
4月前
|
JSON 安全 定位技术
微信附近人提取v3脚本, 微信附近人id提取技术插件,采集附近人wxid数据工具
本内容介绍微信“附近的人”功能的技术原理与实现方法,基于LBS服务,涉及位置模拟、协议分析及数据解析。通过修改GPS坐标或使用Frida等工具hook位置函数
|
8月前
|
数据采集 搜索推荐 API
小红书笔记详情 API 接口的开发、应用与收益
小红书(RED)作为国内领先的生活方式分享平台,汇聚了大量用户生成内容(UGC),尤其是“种草”笔记。小红书笔记详情API接口为开发者提供了获取笔记详细信息的强大工具,包括标题、内容、图片、点赞数等。通过注册开放平台账号、申请API权限并调用接口,开发者可以构建内容分析工具、笔记推荐系统、数据爬虫等应用,提升用户体验和运营效率,创造新的商业模式。本文详细介绍API的开发流程、应用场景及潜在收益,并附上Python代码示例。
598 62
|
8月前
|
人工智能 关系型数据库 分布式数据库
100%兼容MySQL!手把手教你基于PolarDB搭建RAG系统
100%兼容MySQL!手把手教你基于PolarDB搭建RAG系统
444 0