抖音直播间抓取用户数据的软件,ID安全码评论内容礼物,匿名易语言源码WSS

发布时间 2023-11-14 21:11:36作者: 新壳软件

这个也是我用易语言开发的,调用的WSS接口,用的是浏览器协议,好处是非常稳定,不会掉包,目前只提供源码,下面会分享出来。

采集效果图:

 

 

易语言源码:

===============================================================.版本 2

.支持库 spec

.支持库 EThread

.支持库 e2ee

.程序集 窗口程序集_启动窗口

.程序集变量 浏览框, Edge浏览框

.程序集变量 框架, Edge页面框架

.程序集变量 参数, Edge参数

.程序集变量 cookies, 文本型

.程序集变量 URL, 文本型

.程序集变量 集_验证码初始化, 逻辑型

.子程序 __启动窗口_创建完毕

.局部变量 默认配置地址, 文本型

URL = “https://live.douyin.com/”

参数.无痕模式 = 真

参数.缓存目录 = 取运行目录 () + “\cache”

' 参数.弹出窗口模式 = 1

WebView2_全局初始化 ()

WebView2_添加拦截资源 (URL + “*”, “Request”)

' WebView2_添加拦截资源 (URL + “*”, “Response”)

.如果真 (WebView2_创建 (浏览框, 画板1.取窗口句柄 (), URL, 参数))

调试输出 (“创建成功”)

.如果真结束

.子程序 _取框架选择器, 框架选择器

.局部变量 框架, 框架选择器

框架.二级框架选择器 = “”

返回 (框架)

.子程序 _按钮1_被单击

.局部变量 t, 逻辑型

t = 浏览框.WebSocket接管_开启 (, , )

启动线程 (&线程启动websocket, , )

.如果真 (t)

列表框2.插入项目 (0, “websocket已完成接管!”, )

.如果真结束

浏览框.刷新网页 ()

' 浏览框.访问网页 (“https://live.douyin.com/812195156626”)

.子程序 线程启动websocket

.局部变量 websocket_ids, 整数型, , "0"

浏览框.事件_载入完毕 (到整数 (&载入直播完毕))

.子程序 接收回调函数地址

.参数 edge浏览框指针, 整数型

.参数 函数名称, 文本型

.参数 参数1, 文本型

.局部变量 json, 类_json

.局部变量 res, 文本型

.局部变量 json1, 类_json

.局部变量 ret, 文本型

.局部变量 特征码, 文本型

.局部变量 len, 整数型

.局部变量 txt, 文本型

.局部变量 data, 字节集

.局部变量 n, 整数型

.局部变量 i, 整数型

.局部变量 msg, 文本型

.局部变量 json2, 类_json

json.解析 (参数1)

res = 字节集_字节集到十六进制 (编码_BASE64解码 (json.取通用属性 (“data”)))

特征码 = “1F8B080”

len = 寻找文本 (res, 特征码, , 真)

txt = 取文本中间 (res, len, 取文本长度 (res) - len)

data = 字节集_十六进制到字节集 (txt)

data = GZIP解压数据 (data)

txt = 编码_utf8到gb2312 (PB转JSON (data))

' 调试输出 (txt)

置剪辑板文本 (txt)

' 调试输出 (txt)

.如果真 (json1.解析 (txt))

n = json1.成员数 ()

.计次循环首 (n, i)

msg = json1.取通用属性 (“[” + 到文本 (i - 1) + “]”, 真)

' 调试输出 (msg)

' 列表框1.插入项目 (0, msg, )

' 列表框1.置顶端可见项目 (0)

json2.解析 (msg)

.如果真 (寻找文本 (msg, “WebcastMemberMessage”, , 假) ≠ -1)

列表框1.插入项目 (0, “加入直播间:” + json2.取通用属性 (“value[1].value[1].value[2].note”), )

调试输出 (json2.取通用属性 (“value[1].value[1].value[2].note”))

.如果真结束

.如果真 (寻找文本 (msg, “WebcastGiftMessage”, , 假) ≠ -1)

列表框3.插入项目 (0, “送礼物:” + json2.取通用属性 (“value[1].value[0].value[5].note”), )

.如果真结束

.如果真 (寻找文本 (msg, “WebcastLikeMessage”, , 假) ≠ -1)

列表框3.插入项目 (0, “点赞:” + json2.取通用属性 (“value[1].value[3].value[2].note”), )

.如果真结束

.如果真 (寻找文本 (msg, “WebcastChatMessage”, , 假) ≠ -1)

列表框2.插入项目 (0, “评论:” + json2.取通用属性 (“value[1].value[2].note”), )

' 调试输出 (msg)

.如果真结束

.计次循环尾 ()

.如果真结束

.子程序 PB转JSON, 文本型, 公开

.参数 PB数据, 字节集

.局部变量 p, 整数型

.局部变量 s, 文本型

p = PbToJson (PB数据, 取字节集长度 (PB数据))

s = 指针到文本 (p)

Cfree (p)

返回 (s)

.子程序 JSON转PB, 字节集, 公开

.参数 PB数据, 文本型

.局部变量 p, 整数型

.局部变量 len, 整数型

len = 取文本长度 (PB数据)

p = JsonToPB (PB数据, len)

.如果真 (p = 0)

返回 ({ })

.如果真结束

返回 (指针到字节集 (p, len))

.子程序 载入直播完毕

.局部变量 websocket_ids, 整数型, , "0"

重定义数组 (websocket_ids, 假, 0)

浏览框.WebSocket接管_初始化 ()

浏览框.WebSocket接管_绑定 (, websocket_ids)

调试输出 (websocket_ids)

.如果真 (取数组成员数 (websocket_ids) > 0)

浏览框.WebSocket接管_拦截接收 (websocket_ids [1], 到整数 (&接收回调函数地址))

.如果真结束

======================================================================
————————————————
版权声明:本文为CSDN博主「新库论坛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_36446688/article/details/134408095