易语言开发QQ群成员提取器!一键批量提取,赶紧来学习

我们做互联网营销难免需要接触到QQ营销,因为QQ的流量非常大,有些营销需要我们到处某个QQ群所有的好友数据,如果用传统手动的方式导出的话比较麻烦,所以我们今天用易语言给大家实现批量导出QQ群好友列表,如果对你有用的话,请用心读下去,不废话直接进入到主题。我们利用POST抓包形式来读取QQ群好友列表。
需要的工具:
1、易语言
2、精易模块
3、精易VIP超级模块
4、精易编程助手(需要网络抓包)
操作方法:
一、我们首先打开精易助手的抓包功能,需要抓取的地址为:qun.qq.com,在工具里面扫码登陆,完了点击页面的群管理,完了会弹出一个群列表页,大家可以看下面例图。
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习
二、弹出群列表页后,我们点击工具的开始抓包按钮,然后我们在群列表页随便点击某个群,完了就会获取到这个群页面的好友数据列表。
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习
三、主要能正确的提交POST数据,我们就能获取到某个群的所有好友数据,这时候我们需要分析POST提交数据:
提交地址为:https://qun.qq.com/cgi-bin/qun_mgr/search_group_members
提交方式:POST
提交数据:gc=9633670&st=0&end=20&sort=0&bkn=187606947
重点是提交数据的一些参数值,“GC”值表示群号,“ST”值不用管,“end”值不用管,默认即可,好像是一次需要获取的好友数,“sort”值也不用管,“BKN”值这个参数才是最重要的,如果这个参数值提交错误的话是没办法POST到好友数据的,那么这个“BKN”参数值如何获取呢,我们分析发现,在页面没办法直接获取,需要先获取登陆成功后的COOKIE数据,然后从COOKIE获得skey参数值,完了再通过特定算法计算SKEY值然后计算出的另一个值就是提交数据里面的bkn值了。
易语言BAKN值计算函数代码:

  
子程序名 返回值类型 公开 备 注
QQ_gtk 文本型    
参数名 类 型 参考 可空 数组 备 注
skey 文本型        
变量名 类 型 静态 数组 备 注
基值 整数型      
计数 整数型      
长度 整数型      
结果 整数型      
基值 = 5381
计数 = 0
长度 = 取文本长度 (skey)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习判断循环首 (计数 < 长度)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习基值 = 基值 + 左移 (基值, 5) + 取代码 (skey, 计数 + 1)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习计数 = 计数 + 1
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习判断循环尾 ()
结果 = 位与 (基值, 2147483647)
返回 (到文本 (结果))


三、计算出了BKK值,这个程序的大问题就搞定了,我们直接在易语言里面新建一个程序,然后放三个编辑框,一个超文本浏览器,一个按钮,然后把下面的案例代码直接复制粘贴到你的代码框。
案例代码:

  
窗口程序集名 保 留   保 留 备 注
窗口程序集_启动窗口      
子程序名 返回值类型 公开 备 注
_按钮1_被单击      
变量名 类 型 静态 数组 备 注
cookie 文本型      
bkn 文本型      
提交数据 文本型      
QQ群号 文本型      
skey 文本型      
第一次 文本型      
返回数据 文本型      
cookie = 网页_取Cookie (“qun.qq.com”)
调试输出 (cookie)
第一次 = 取文本右边 (cookie, 80)
调试输出 (第一次)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习判断 (寻找文本 (第一次, “pgv_info”, , ) > 1)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习skey = 文本_取出中间文本 (cookie, #前面, #后面 )
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习调试输出 (skey)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习skey = 取文本右边 (第一次, 10)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习调试输出 (skey)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习
bkn = QQ_gtk (skey)
调试输出 (bkn)
返回数据 = 到文本 (网页_访问 (“https://qun.qq.com/cgi-bin/qun_mgr/search_group_members”, 1, “gc=” + 编辑框3.内容 + “&st=0&end=” + 编辑框1.内容 + “&sort=0&bkn=” + bkn + “”, cookie))
调试输出 (返回数据)
编辑框2.内容 = 返回数据
打开指定网址 (http://www.xkrj5.com)
子程序名 返回值类型 公开 备 注
QQ_gtk 文本型    
参数名 类 型 参考 可空 数组 备 注
skey 文本型        
变量名 类 型 静态 数组 备 注
基值 整数型      
计数 整数型      
长度 整数型      
结果 整数型      
基值 = 5381
计数 = 0
长度 = 取文本长度 (skey)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习判断循环首 (计数 < 长度)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习基值 = 基值 + 左移 (基值, 5) + 取代码 (skey, 计数 + 1)
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习计数 = 计数 + 1
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习判断循环尾 ()
结果 = 位与 (基值, 2147483647)
返回 (到文本 (结果))
子程序名 返回值类型 公开 备 注
__启动窗口_创建完毕      
变量名 类 型 静态 数组 备 注
填表 网页填表      
延迟 (3000)
填表.初始化 (超文本浏览框1.取窗口句柄 ())
填表.链接_点击 (“登录”)


 
i支持库列表    支持库注释   
spec 特殊功能支持库
eAPI 应用接口支持库



四、添加完案例代码,还需要添加几个常量。
需要添加的常量:

  
常量名称 常量值 公 开 备 注
前面 <文本长度: 5>   常量值为:skey=
后面 <文本长度: 1>   常量值为:;


五、完了我们运行你的程序,然后扫码登陆即可直接获取到某个QQ群好友的数据列表哦!是不是很简答呢?最难的就是获取BKN参数值了,这个大家下去了好好研究一下。
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习
关于“BKN”参数值的问题补充:
其实这个BKN值是用户客户端提交给服务器的,那么这个BKN值肯定是在客户端浏览器完成生成的,这时候我们第一时间需要想到的就是JS代码,果不其然,小编在QQ群页面的某个JS文件里面找到了BKN参数值的计算函数。
“BKN”参数值JS计算函数:
bkn=function(){for(var e=$.cookie("skey"),t=5381,n=0,o=e.length;n<o;++n)t+=(t<<5)+e.charAt(n).charCodeAt();return 2147483647&t}
易语言开发QQ群成员提取器!一键批量提取,赶紧来学习

那么大家需要下载这款工具源码的话,我们这边已上传到CSDN资源站了,自己下载哈!

https://download.csdn.net/download/qq_15159657/12234954

如果不能访问的话,应该在审核!!!