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)
相关文章
|
7月前
|
JSON Java 数据安全/隐私保护
qq群成员qq号一键提取, 不加群就可以提取QQ群成员, qq群成员提取器
完整的QQ群成员提取功能,包括登录验证、成员获取、数据解析和导出功能。代码结构清晰
|
7月前
|
存储 数据可视化 安全
QQ群成员采集工具, QQ群成员昵称导出工具, qq群成员采集软件
完整的QQ群成员采集工具实现方案,包含登录认证、群成员获取、数据存储和导出等完整功能。
|
7月前
|
存储 数据安全/隐私保护 iOS开发
磁盘打不开、数据异常?这5个磁盘修复工具帮你搞定
日常使用电脑时,磁盘故障如无法打开、提示“文件或目录损坏”、分区变RAW等问题令人头疼。本文介绍5款实用磁盘修复工具,包括Windows内置的chkdsk、DiskGenius、慢速格式化、Mac磁盘工具及硬盘厂商专用软件,手把手教你应对磁盘异常,保障数据安全与系统稳定。
|
7月前
|
JSON 数据库 Android开发
qq群提取群成员软件, QQ群好友采集工具, qq群成员提取器安卓版
基于C++实现的QQ群成员提取工具完整代码,包含Windows桌面端和Android移动端两个版本的核心模块
|
监控 安全 开发工具
鸿蒙HarmonyOS应用开发 | HarmonyOS Next-从应用开发到上架全流程解析
HarmonyOS Next是华为推出的最新版本鸿蒙操作系统,强调多设备协同和分布式技术,提供丰富的开发工具和API接口。本文详细解析了从应用开发到上架的全流程,包括环境搭建、应用设计与开发、多设备适配、测试调试、应用上架及推广等环节,并介绍了鸿蒙原生应用开发者激励计划,帮助开发者更好地融入鸿蒙生态。通过DevEco Studio集成开发环境和华为提供的多种支持工具,开发者可以轻松创建并发布高质量的鸿蒙应用,享受技术和市场推广的双重支持。
2061 11
|
7月前
|
数据采集 JSON 数据安全/隐私保护
小红书评论采集工具,小红书自动采集软件,Uid作品笔记用户提取
这个工具包含三个主要功能:1) 获取用户基本信息 2) 获取用户发布的笔记 3) 获取笔记下的评论
|
8月前
|
存储 数据采集 Java
QQ附近人采集工具,可提取附近人同地区用户,jar实现具体的开发效果【仅供学习参考】
本项目为QQ附近人数据采集工具,含四个核心模块:主采集程序使用多线程请求API,坐标生成器创建采集点网格覆盖目标区域,用户数据以自定义结构存储,导出模块利用Apache POI实现实时Excel写入。
|
7月前
|
安全 API 数据安全/隐私保护
qq群提取群成员软件, 批量提取群成员qq号, 批量导出qq群的成员列表
使用libcurl进行HTTP请求4JSON解析处理API响应数据多线程加速群
|
8月前
|
机器人
陌陌自动回复消息脚本,陌陌自动打招呼回复机器人插件,自动聊天智能版
这是一款为陌陌用户设计的自动回复软件,旨在解决用户无法及时回复消息的问题,提高成交率和有效粉丝数。软件通过自动化操作实现消息检测与回复功能
|
7月前
|
API 数据安全/隐私保护 Python
qq群消息群发工具,qq一键群发器软件,QQ群发助手
AutoJS实现的移动端自动化方案,需root权限‌5。注意事项: