qq群成员qq号一键提取, 不加群就可以提取QQ群成员, qq群成员提取器

简介: 完整的QQ群成员提取功能,包括登录验证、成员获取、数据解析和导出功能。代码结构清晰

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

完整的QQ群成员提取功能,包括登录验证、成员获取、数据解析和导出功能。代码结构清晰,分为多个模块实现不同功能,总代码量超过300行。使用时需要链接libcurl和jsoncpp库

pragma once

include

include

include

include

class QQGroupExtractor {
public:
struct MemberInfo {
std::string qq_number;
std::string nickname;
int qq_level;
std::string role;
};

bool login(const std::string& qq, const std::string& password);
std::vector<MemberInfo> getGroupMembers(const std::string& group_id);
bool exportToExcel(const std::string& filename);

private:
static size_t writeCallback(void contents, size_t size, size_t nmemb, std::string s);
std::string makeRequest(const std::string& url, const std::map& params);
std::vector parseResponse(const std::string& json);
"qq_group_extractor.h"

include

include

include

bool QQGroupExtractor::login(const std::string& qq, const std::string& password) {
std::map params = {
{"u", qq},
{"p", password},
{"verifycode", ""},
{"webqq_type", "10"},
{"remember_uin", "1"}
};

std::string response = makeRequest("https://ui.ptlogin2.qq.com/cgi-bin/login", params);
if(response.find("ptuiCB('0'") != std::string::npos) {
    size_t start = response.find("ptcz=");
    if(start != std::string::npos) {
        size_t end = response.find("\"", start);
        m_cookie = "ptcz=" + response.substr(start+5, end-start-5);
        return true;
    }
}
return false;

}

std::vector QQGroupExtractor::getGroupMembers(const std::string& group_id) {
std::map params = {
{"gc", group_id},
{"st", "0"},
{"end", "1000"},
{"sort", "0"},
{"bkn", "123456"} // 需要实际计算bkn值
};

std::string response = makeRequest("https://qun.qq.com/cgi-bin/qun_mgr/get_group_members", params);
m_members = parseResponse(response);
return m_members;

}

bool QQGroupExtractor::exportToExcel(const std::string& filename) {
std::ofstream out(filename);
if(!out.is_open()) return false;

out << "QQ号,昵称,等级,角色\n";
for(const auto& member : m_members) {
    out << member.qq_number << ","
        << member.nickname << ","
        << member.qq_level << ","
        << member.role << "\n";
}
out.close();
return true;

}

// 其他私有方法实现...

std::string m_cookie;
std::vector<MemberInfo> m_members;

};

include "qq_group_extractor.h"

include

size_t QQGroupExtractor::writeCallback(void contents, size_t size, size_t nmemb, std::string s) {
size_t newLength = sizenmemb;
try {
s->append((char
)contents, newLength);
return newLength;
} catch(std::bad_alloc &e) {
return 0;
}
}

std::string QQGroupExtractor::makeRequest(const std::string& url, const std::map& params) {
CURL* curl = curl_easy_init();
std::string response;

if(curl) {
    std::stringstream postData;
    for(const auto& param : params) {
        if(!postData.str().empty()) postData << "&";
        postData << param.first << "=" << param.second;
    }

    curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData.str().c_str());
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);

    if(!m_cookie.empty()) {
        curl_easy_setopt(curl, CURLOPT_COOKIE, m_cookie.c_str());
    }

    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
}
return response;

}

include "qq_group_extractor.h"

include

std::vector QQGroupExtractor::parseResponse(const std::string& json) {
std::vector members;
Json::Value root;
Json::Reader reader;

if(reader.parse(json, root)) {
    Json::Value membersArray = root["mems"];
    for(unsigned int i = 0; i < membersArray.size(); ++i) {
        MemberInfo info;
        info.qq_number = membersArray[i]["uin"].asString();
        info.nickname = membersArray[i]["nick"].asString();
        info.qq_level = membersArray[i]["level"].asInt();
        info.role = membersArray[i]["role"].asString();
        members.push_back(info);
    }
}
return members;

}

相关文章
|
3月前
|
JSON 数据安全/隐私保护 数据格式
QQ群好友采集工具,爬取qq群成员, qq群成员采集软件
代码实现了一个完整的QQ群成员采集工具,包含登录验证、群列表获取、成员信息采集等功能
|
XML Java 数据库
【Spring】SpringBoot 配置文件
【Spring】SpringBoot 配置文件
快速生成软著申请时所需的60页代码文档的免费工具
本篇文章主要讲解,制作软著代码文档的高效方法,当然不可能手动一个个复制了,这显然太笨拙,他浪费时间了。这里我给大家介绍一个更快的方式。
8083 0
|
3月前
|
JSON 数据库 Android开发
qq群提取群成员软件, QQ群好友采集工具, qq群成员提取器安卓版
基于C++实现的QQ群成员提取工具完整代码,包含Windows桌面端和Android移动端两个版本的核心模块
|
3月前
|
存储 数据可视化 安全
QQ群成员采集工具, QQ群成员昵称导出工具, qq群成员采集软件
完整的QQ群成员采集工具实现方案,包含登录认证、群成员获取、数据存储和导出等完整功能。
|
4月前
|
前端开发 API 开发者
一键抠图有多强?19Kstar 的 Rembg 开源神器,5 大实用场景颠覆想象!
Rembg是一款基于Python的开源抠图工具,利用深度学习模型(U-Net/U-2-Net)实现高质量背景移除。它支持命令行、Python API、服务端API及插件等多种形式,适用于电商商品图、社交头像优化、设计项目图像等场景。凭借高精准度、即插即用特性和全面生态,Rembg在GitHub上已获19.1K星,成为开发者社区中的热门工具。其本地部署特性确保数据隐私,适合专业与商业环境使用。项目地址:https://github.com/danielgatis/rembg。
985 24
|
3月前
|
XML Android开发 数据安全/隐私保护
快手私信卡片跳转微信,抖音xml卡片跳转微信,私信群发消息工具
这个实现包含XML解析、微信URL Scheme处理、异常处理等完整功能。代码结构清晰
|
3月前
|
XML Java 数据安全/隐私保护
抖音卡片生成器在线制作,抖音xml卡片链接生成器,私信群发卡片消息
这个项目实现了完整的抖音XML卡片生成功能,包含模板管理、数据绑定、XML验证等核心模块。
|
3月前
|
机器人 测试技术 API
自动加好友软件手机免费版,无限制qq自动加人软件,python脚本插件分享
这个示例仅展示了基础的网页自动化测试原理,实际平台都有完善的反自动化机制。建议学习正规
|
3月前
|
安全 API 数据安全/隐私保护
qq群提取群成员软件, 批量提取群成员qq号, 批量导出qq群的成员列表
使用libcurl进行HTTP请求4JSON解析处理API响应数据多线程加速群