快手直播间提取工具,采集直播间弹幕评论点心,最新开源框架【仅供学习参考】

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
应用实时监控服务-应用监控,每月50GB免费额度
简介: 这是一套快手直播弹幕接收与用户信息查询的源码,原本为客户提供定制服务,现分享出来供学习参考。代码基于 `.版本 2` 开发,支持 WebSocket 客户端连接、解析直播间数据、接收弹幕消息及用户操作(如点亮爱心),并展示在线观众数量和用户详细信息。包含多个子程序实现功能模块化,如头像获取、性别判断等。

下载地址:https://pan38.com/share.php?code=yavRA 提取码:1999
之前是给客户定制的,存哈了源码,现在留着没用,看能用就给大家分享出来吧,仅供学习参考使用!!!
源码部分【仅供学习参考】
```.版本 2
.支持库 e2ee
.支持库 iext
.支持库 spec
.支持库 EThread

.程序集 窗口程序集_启动窗口
.程序集变量 WSS, WebSocket客户端
.程序集变量 cookie, 文本型
.程序集变量 liveStreamId, 文本型
.程序集变量 弹幕数量, 整数型

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

写到文件 (取运行目录 () + “\gzip.dll”, #gzip)
WSS.初始化 (&WSS客户端收到消息, &WSS客户端连接成功, &WSS客户端连接失败, &WSS客户端断开连接)

.子程序 连接
.局部变量 是否成功, 逻辑型
.局部变量 token十六进制, 文本型
.局部变量 liveStreamId十六进制, 文本型
.局部变量 局结果, 字节集
.局部变量 局
返回, 文本型
.局部变量 直播间链接, 文本型
.局部变量 返回Cookie, 文本型
.局部变量 局_提交数据, 文本型
.局部变量 json, 类_json
.局部变量 token, 文本型
.局部变量 webSocketUrls, 文本型

cookie = 编辑框1.内容
直播间链接 = 编辑框直播间地址.内容
.如果真 (直播间链接 = “”)
信息框 (“请输入直播间链接”, 0, “提示”,
启动窗口.取窗口句柄 ())
按钮连接.禁止 = 假
按钮
断开.禁止 = 假
返回 ()
.如果真结束

局_返回 = 编码_Utf8到Ansi (网页GZIP解压 (网页访问对象 (直播间链接, 0, , , 返回Cookie, #协议头, , , , , , , , , , , , , )))
liveStreamId = 文本
取出中间文本 (局返回, #常量2, #常量3, , )
.如果真 (liveStreamId = “”)
信息框 (“你输入的直播间链接不存在或无法访问或检查cookie是否失效或不可用”, 16, “提示”,
启动窗口.取窗口句柄 ())
按钮连接.禁止 = 假
按钮
断开.禁止 = 假
返回 ()
.如果真结束

局_返回 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/liveroom/websocketinfo?liveStreamId=” + liveStreamId, 0, , cookie, , #协议头, , , , , , , , , , , , , ))
json.解析 (局返回)
token = json.取通用属性 (“data.token”)
webSocketUrls = json.取通用属性 (“data.websocketUrls[0]”)
json.清除 ()
.如果真 (token = “”)
信息框 (“获取进房token失败,请查看cookie是否失效或不可用”, 16, “提示”,
启动窗口.取窗口句柄 ())
按钮连接.禁止 = 假
按钮
断开.禁止 = 假
返回 ()
.如果真结束
是否成功 = WSS.连接 (webSocketUrls, 真, )
token十六进制 = 字节集字节集到十六进制 (到字节集 (token))
liveStreamId十六进制 = 字节集
字节集到十六进制 (到字节集 (liveStreamId))

.判断开始 (是否成功 = 真)
WSS.发送字节集 (字节集十六进制到字节集 (“08C8011ADC010AAC01” + token十六进制 + “120b” + liveStreamId十六进制 + “3a1e4a334c6f3455367a37556a4967676e345f31363830373137333030373036”))
时钟1.时钟周期 = 20000
按钮
断开.禁止 = 假
.默认
信息框 (“WSS进房失败”, 16, “提示”, 启动窗口.取窗口句柄 ())
按钮
断开.禁止 = 假
.判断结束

.子程序 WSS客户端_收到消息
.参数 消息类型, 整数型
.参数 消息句柄, 整数型
.局部变量 索引, 整数型
.局部变量 消息数据, 字节集
.局部变量 消息文本, 文本型
.局部变量 Protobuf, _UnProtobuf
.局部变量 是否解析成功, 整数型
.局部变量 i, 整数型
.局部变量 key数量, 整数型
.局部变量 用户信息, 个人信息

消息数据 = WSS.取回消息数据 (消息句柄)
Protobuf.解析 (消息数据)
key数量 = Protobuf.getCount (“3.5”)
.如果真 (key数量 > 0) ' 弹幕
.计次循环首 (key数量, i)
弹幕数量 = 弹幕数量 + 1
用户信息.英文ID = Protobuf.getText (“3.5.2.1”, i)
用户信息.昵称 = Protobuf.getText (“3.5.2.2”, i)
用户信息.操作描述 = Protobuf.getText (“3.5.3”, i)
用户信息.头像 = 子_取头像 (用户信息.英文ID)
索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (索引, 0, 用户信息.昵称) ' 昵称
超级列表框1.置标题 (索引, 1, 用户信息.英文ID) ' ID
超级列表框1.置标题 (索引, 2, 用户信息.操作描述) ' 弹幕
超级列表框1.置标题 (索引, 3, 用户信息.头像) ' 头像
超级列表框1.保证显示 (索引)
标题 = 到文本 (弹幕数量)
.计次循环尾 ()
.如果真结束

key数量 = Protobuf.getCount (“3.2”)
.如果真 (key数量 ≠ 0)
标签1.标题 = “在线观众:” + Protobuf.getText (“3.1”)
.如果真结束

key数量 = Protobuf.getCount (“3.8”)
.如果真 (key数量 > 0)
.计次循环首 (key数量, i)
弹幕数量 = 弹幕数量 + 1
用户信息.昵称 = Protobuf.getText (“3.8.2.2”, i)
用户信息.英文ID = Protobuf.getText (“3.8.2.1”, i)
用户信息.操作描述 = “点亮了爱心”
用户信息.头像 = 子_取头像 (用户信息.英文ID)

    索引 = 超级列表框1.插入表项 (, , , , , )
    超级列表框1.置标题 (索引, 0, 用户信息.昵称)
    超级列表框1.置标题 (索引, 1, 用户信息.英文ID)
    超级列表框1.置标题 (索引, 2, 用户信息.操作描述)
    超级列表框1.置标题 (索引, 3, 用户信息.头像)  ' 头像
    超级列表框1.保证显示 (索引)
    标题 = 到文本 (弹幕数量)
.计次循环尾 ()

.如果真结束

.子程序 WSS客户端_连接成功

调试输出 (“WSS_连接成功”)

.子程序 WSS客户端_连接失败

调试输出 (“WSS_连接失败”)

.子程序 WSS客户端_断开连接

时钟1.时钟周期 = 0
调试输出 (“WSS_断开连接”)

.子程序 按钮连接_被单击

按钮连接.禁止 = 真
按钮
断开.禁止 = 真
启动线程 (&连接, , )

.子程序 按钮断开_被单击

WSS.断开 ()
按钮_连接.禁止 = 假

.子程序 用户ID取头像, 文本型
.参数 ID, 文本型
.局部变量 头像地址, 文本型
.局部变量 json, 类_json

头像地址 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + ID, , , cookie, , #协议头))
json.解析 (头像地址)
返回 (json.取通用属性 (“data.userInfo.avatar”))

.子程序 时钟1周期事件

WSS.发送字节集 (字节集_十六进制到字节集 (“08011a0708afb4c294f530”))

.子程序 超级列表框1左键单击表项
.局部变量 返回内容, 文本型
.局部变量 英文ID, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

英文ID = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
查询资料_1 (英文ID)

.子程序 查询资料_1, , , 个人中心
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

返回内容 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/sensitive?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.英文ID = 英文ID
用户信息.头像 = json.取通用属性 (“data.sensitiveUserInfo.avatar”)
用户信息.昵称 = json.取通用属性 (“data.sensitiveUserInfo.name”)
用户信息.数字ID = json.取属性 (“data.sensitiveUserInfo.originUserId”).取数据文本 ()
用户信息.签名 = json.取通用属性 (“data.sensitiveUserInfo.description”)
用户信息.地区 = json.取通用属性 (“data.sensitiveUserInfo.cityName”)
用户信息.性别 = json.取通用属性 (“data.userInfo.sex”)
.判断开始 (用户信息.性别 = “F”)
用户信息.性别 = “女”
.判断 (用户信息.性别 = “M”)
用户信息.性别 = “男”
.默认
用户信息.性别 = “保密”
.判断结束

图片框1.图片 = 网页访问对象 (用户信息.头像)
标签2.标题 = “昵称:” + 用户信息.昵称
标签3.标题 = “英文ID:” + 英文ID
标签6.标题 = “数字ID:” + 用户信息.数字ID
标签4.标题 = “性别:” + 用户信息.性别
标签7.标题 = “地区:” + 用户信息.地区
标签5.标题 = “签名:” + 用户信息.签名

.子程序 查询资料_2, , , 直播名片
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

返回内容 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.英文ID = 英文ID
用户信息.头像 = json.取通用属性 (“data.userInfo.avatar”)
用户信息.昵称 = json.取通用属性 (“data.userInfo.name”)
用户信息.数字ID = json.取属性 (“data.userInfo.originUserId”).取数据文本 ()
用户信息.签名 = json.取通用属性 (“data.userInfo.description”)
用户信息.地区 = json.取通用属性 (“data.userInfo.cityName”)
用户信息.性别 = json.取通用属性 (“data.userInfo.sex”)
.判断开始 (用户信息.性别 = “F”)
用户信息.性别 = “女”
.判断 (用户信息.性别 = “M”)
用户信息.性别 = “男”
.默认
用户信息.性别 = “保密”
.判断结束

图片框1.图片 = 网页访问对象 (用户信息.头像)
标签2.标题 = “昵称:” + 用户信息.昵称
标签3.标题 = “英文ID:” + 英文ID
标签6.标题 = “数字ID:” + 用户信息.数字ID
标签4.标题 = “性别:” + 用户信息.性别
标签7.标题 = “地区:” + 用户信息.地区
标签5.标题 = “签名:” + 用户信息.签名

.子程序 点心, 逻辑型
.局部变量 data, 文本型
.局部变量 返回内容, 文本型

data = 子文本替换 (#点心, “[ID]”, liveStreamId, , , 真)
返回内容 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/liveroom/like”, 1, data, cookie, , #协议头, , , , 编码_Ansi到Utf8 (data)))
.如果 (返回内容 = “{” + #引号 + “data” + #引号 + “:true}”)
返回 (真)
.否则
返回 (假)
.如果结束

.子程序 网页取头像1, 文本型
.参数 英文ID, 文本型
.局部变量 局
网址, 文本型
.局部变量 局提交数据, 文本型
.局部变量 ADD
协议头, 类POST数据类
.局部变量 局
提交协议头, 文本型
.局部变量 局结果, 字节集
.局部变量 局
返回, 文本型
.局部变量 json, 类_json

调试输出 (1)
网址 = “https://www.kuaishou.com/graphql”
提交数据 = “{” + #引号 + “operationName” + #引号 + “:” + #引号 + “visionProfile” + #引号 + “,” + #引号 + “variables” + #引号 + “:{” + #引号 + “userId” + #引号 + “:” + #引号 + 英文ID + #引号 + “},” + #引号 + “query” + #引号 + “:” + #引号 + “query visionProfile($userId: String) {\n visionProfile(userId: $userId) {\n result\n hostName\n userProfile {\n ownerCount {\n fan\n photo\n follow\n photo_public\n typename\n }\n profile {\n gender\n user_name\n user_id\n headurl\n user_text\n user_profile_bg_url\n typename\n }\n isFollowing\n typename\n }\n typename\n }\n}\n” + #引号 + “}”
局_提交数据 = 编码gb2312到utf8 (局提交数据)
ADD协议头.添加 (“Host”, “www.kuaishou.com”)
ADD
协议头.添加 (“Connection”, “keep-alive”)
ADD协议头.添加 (“accept”, “/”)
ADD
协议头.添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36”)
ADD协议头.添加 (“content-type”, “application/json”)
ADD
协议头.添加 (“Origin”, “https://www.kuaishou.com”)
ADD协议头.添加 (“Sec-Fetch-Site”, “same-origin”)
ADD
协议头.添加 (“Sec-Fetch-Mode”, “cors”)
ADD协议头.添加 (“Sec-Fetch-Dest”, “empty”)
ADD
协议头.添加 (“Referer”, “https://www.kuaishou.com/profile/3xi9cj4qnixaaug”)
ADD协议头.添加 (“Accept-Language”, “zh-CN,zh;q=0.9”)
提交协议头 = ADD协议头.获取协议头数据 ()
结果 = 网页访问对象 (局网址, 1, , cookie, , 局提交协议头, , , , 到字节集 (局提交数据), , , , , , , )
返回 = 到文本 (编码编码转换对象 (局结果))
json.解析 (局_返回)
返回 (json.取通用属性 (“data.visionProfile.userProfile.profile.headurl”))

.子程序 网页_取头像2, 文本型
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

调试输出 (2)
返回内容 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/byid?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.头像 = json.取通用属性 (“data.userInfo.avatar”)
返回 (用户信息.头像)

.子程序 网页_取头像3, 文本型
.参数 英文ID, 文本型
.局部变量 返回内容, 文本型
.局部变量 json, 类_json
.局部变量 用户信息, 个人信息

调试输出 (3)
返回内容 = 编码Utf8到Ansi (网页访问_对象 (“https://live.kuaishou.com/live_api/baseuser/userinfo/sensitive?principalId=” + 英文ID, , , cookie, , #协议头))
json.解析 (返回内容)
用户信息.头像 = json.取通用属性 (“data.sensitiveUserInfo.avatar”)
返回 (用户信息.头像)

.子程序 网页取头像4, 文本型
.参数 英文ID, 文本型
.局部变量 局
网址, 文本型
.局部变量 局提交cookie, 文本型
.局部变量 局
提交协议头, 文本型
.局部变量 局结果, 字节集
.局部变量 局
返回, 文本型

调试输出 (4)
网址 = “https://www.kuaishou.com/profile/” + 英文ID
提交协议头 = “Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9” + #换行符 + “Accept-Encoding: gzip, deflate, br” + #换行符 + “Accept-Language: zh-CN,zh;q=0.9” + #换行符 + “Cache-Control: max-age=0” + #换行符 + “Connection: keep-alive” + #换行符 + “Host: www.kuaishou.com” + #换行符 + “Sec-Fetch-Dest: document” + #换行符 + “Sec-Fetch-Mode: navigate” + #换行符 + “Sec-Fetch-Site: none” + #换行符 + “Sec-Fetch-User: ?1” + #换行符 + “Upgrade-Insecure-Requests: 1” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36”
网页访问S (局网址, 0, , cookie, , 局提交协议头, , , , , , , , , , , 局结果, , , , )
局_结果 = 网页GZIP解压 (局结果)
局_返回 = 编码Utf8到Ansi (局结果)
返回 = 文本取出中间文本 (局返回, “<img src=#引号”, “#引号 class=”)
返回 (局
返回)

.子程序 子取头像, 文本型
.参数 参
英文ID, 文本型
.局部变量 返回信息, 文本型

返回信息 = 网页取头像1 (参英文ID)
.如果真 (返回信息 = “”)
返回信息 = 网页取头像2 (参英文ID)
.如果真结束
.如果真 (返回信息 = “”)
返回信息 = 网页取头像3 (参英文ID)
.如果真结束
.如果真 (返回信息 = “”)
返回信息 = 网页取头像4 (参英文ID)
.如果真结束

返回 (返回信息)

```

image.png

相关文章
抖音快手直播间打字脚本,直播间发言循环弹幕插件,自动打广告发送文字信息源码
这是一款用于快手直播间的自动化营销工具源码,可实现直播间自动发送非重复随机广告信息、虚拟欢迎语、持续点赞等功能。
|
NoSQL 数据可视化 关系型数据库
推荐几个好用的redis可视化工具
推荐几个好用的redis可视化工具
16711 1
|
3月前
|
JSON 数据安全/隐私保护 数据格式
QQ群好友采集工具,爬取qq群成员, qq群成员采集软件
代码实现了一个完整的QQ群成员采集工具,包含登录验证、群列表获取、成员信息采集等功能
快手自动发私信脚本,快手一键群发私信软件,无限制私信营销工具
这是一款针对快手和抖音平台的私信群发及自动化操作脚本,可大幅提升多账号运营效率,避免手动操作易出错的问题。
|
4月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
4月前
|
存储 数据采集 JSON
抖音直播间采集截流软件,抖音直播间采集匿名信息UID,评论红心点赞留言版
这是一个抖音直播数据爬虫项目,包含DouyinLiveCrawler和DataProcessor两个核心类。前者负责通过HTTP和WebSocket协议采集直播间弹幕、点赞等实时数据
|
3月前
|
存储 SQL 关系型数据库
uid转二维码工具,抖音号转UID软件,数据互站共通【易语言版】
该程序包含5个核心模块:主界面、二维码生成、抖音接口、数据库存储和工具类。使用时需
|
4月前
|
iOS开发
ios虚拟摄像头插件,iPhone苹果替换相机软件,通过xposed框架实现
本项目包含三部分内容:1) 通过MobileSubstrate Hook系统相机进程,替换原始视频流数据的核心代码;2) 基于SwiftUI设计的多功能摄像头界面,支持摄像头切换、滤镜选择和视频源配置;3) 使用PHPickerViewController实现本地视频选择、时长滑块控制及视频裁剪导出功能。适用于学习iOS底层Hook技术与现代UI开发结合的应用场景。下载地址:https://www.pan38.com/share.php?code=BCjmZ,提取码:8888(仅供学习参考)。
|
4月前
|
XML 存储 数据格式
抖音卡片链接生成器,xml卡片数据支持快手,通过XPOSED实现制作
本项目介绍抖音/快手卡片链接生成技术,包含技术原理与核心功能实现。通过Xposed框架Hook目标APP关键方法,自定义卡片生成与跳转逻辑。卡片数据以XML格式存储,便于解析和跨平台使用。提供完整代码示例,涵盖Xposed模块配置、XML数据结构、Hook实现及卡片生成器核心类。下载地址:https://www.pan38.com/share.php?code=DuNzA,提取码:8888(仅供学习参考)。
|
4月前
|
JSON 数据格式
快手评论提取工具,采集快手评论内容ID,快手账号AUTOJS版
此AutoJS脚本可实现快手视频评论采集功能,需传入视频链接作为参数。脚本自动滚动加载评论,提取评论内容、用户ID和位置信息,并保存为JSON格式文件。