.版本 2
.支持库 EThread
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 集_文件数组, 文本型, , "0"
.程序集变量 集_许可证, , , , ' 本源码来自三叶资源网(www.sanye.cx)
.子程序 _按钮1_被单击
.局部变量 局_计次, 整数型
.如果真 (编辑框_话术.内容 = “”)
提示框 (“请填写话术”, , , , )
返回 ()
.如果真结束
写到文件 (取运行目录 () + “\话术.txt”, 到字节集 (编辑框_话术.内容))
文件_枚举 (取运行目录 () + “\ck”, “*.txt”, 集_文件数组, 真, , )
集_许可证 = 创建进入许可证 ()
按钮1.禁止 = 真
.计次循环首 (到整数 (编辑框_线程数.内容), 局_计次)
.如果 (取数组成员数 (集_文件数组) > 局_计次 或 取数组成员数 (集_文件数组) = 0)
启动线程 (&子_任务, , )
.否则
启动线程 (&子_任务, 局_计次, )
.如果结束
延时 (1000)
.计次循环尾 ()
.子程序 __启动窗口_创建完毕
队长_初始化 (真, , , )
编辑框_话术.内容 = 到文本 (读入文件 (取运行目录 () + “\话术.txt”))
.子程序 子_任务
.参数 参_文件数, 整数型
.局部变量 局_端口, 整数型
.局部变量 局_浏览器, 队长浏览器类
.局部变量 局_标签, 队长标签页类
.局部变量 局_标签_数组, 队长标签页类, , "0"
.局部变量 局_路径, 文本型
.局部变量 局_ck, 文本型
.局部变量 局_坐标_输入框, 队长_坐标
.局部变量 json, zyJsonValue
.局部变量 局_数量, 整数型
.局部变量 局_CK_数组, 队长_Cookie数据, , "0"
.局部变量 局_计次, 整数型
.局部变量 局_用户, 文本型
.局部变量 局_成员数, 整数型
.局部变量 局_话术, 文本型
.局部变量 局_话术数, 整数型
.局部变量 局_话术_数组, 文本型, , "0"
.局部变量 局_随机数, 整数型
.局部变量 局_间隔前, 双精度小数型
.局部变量 局_间隔后, 双精度小数型
.局部变量 局_随机时间, 整数型
.如果 (参_文件数 ≠ 0)
进入许可区 (集_许可证)
局_ck = 到文本 (读入文件 (集_文件数组 [参_文件数]))
局_话术 = 编辑框_话术.内容
局_间隔前 = 到整数 (编辑框_间隔前.内容) × 1000
局_间隔后 = 到整数 (编辑框_间隔后.内容) × 1000
退出许可区 (集_许可证)
.否则
进入许可区 (集_许可证)
局_话术 = 编辑框_话术.内容
局_间隔前 = 到整数 (编辑框_间隔前.内容) × 1000
局_间隔后 = 到整数 (编辑框_间隔后.内容) × 1000
退出许可区 (集_许可证)
.如果结束
文本_分割文本 (局_话术, #换行符, , 局_话术_数组)
局_话术数 = 取数组成员数 (局_话术_数组)
局_端口 = 队长_取空闲端口 ()
局_浏览器.初始化 (局_端口)
局_路径 = 取运行目录 () + “\_谷歌浏览器\App\Chrome-bin\chrome.exe”
队长_启动谷歌浏览器 (局_路径, 局_端口, 取运行目录 () + “\浏览器\” + 到文本 (局_端口), 真, 取运行目录 () + “\浏览器\” + 到文本 (局_端口) + “\缓存目录”, , , , , , )
.计次循环首 (10, )
局_浏览器.取标签页列表 (局_标签_数组)
.如果真 (取数组成员数 (局_标签_数组) > 0)
跳出循环 ()
.如果真结束
延时 (1000)
.计次循环尾 ()
局_标签 = 局_标签_数组 [1]
.如果真 (局_ck ≠ “”)
json.解析 (局_ck, , , , )
局_成员数 = json.取成员数 (“数据”)
.计次循环首 (局_成员数, 局_计次)
局_标签.Cookie_添加或修改 (json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].name”), json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].value”), json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].domain”), json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].url”), json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].path”), 到逻辑型 (json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].secure”), , ), -1, 到逻辑型 (json.取文本 (“数据[” + 到文本 (局_计次 - 1) + “].httpOnly”), , ))
.计次循环尾 ()
.如果真结束
局_标签.页面_跳转网页 (“https://live.kuaishou.com/”, )
.计次循环首 (10, )
.如果真 (局_标签.页面_是否已加载完毕 ())
跳出循环 ()
.如果真结束
延时 (1000)
.计次循环尾 ()
.如果真 (局_ck = “”)
局_标签.元素_点击 (“#app > div:nth-child(1) > div.header-placeholder > header > div > div.right-part > div.user-info.user-info > div.no-login > span.login”, , )
延时 (3000)
.判断循环首 (寻找文本 (局_标签.元素_取属性 (“href”, “a.third-part-entry-wechat”, , ), “wechat”, , 假) = -1)
延时 (1000)
.判断循环尾 ()
.判断循环首 (局_标签.元素_取innerText (“div.user-info.user-info > a”, , ) = #常_空白)
延时 (1000)
调试输出 (“请扫码登录”)
.判断循环尾 ()
延时 (1000)
.计次循环首 (10, )
局_用户 = 局_标签.元素_取innerHTML (“#app > div:nth-child(1) > div.header-placeholder > header > div > div.right-part > div.user-info.user-info > a”, , )
.如果真 (局_用户 ≠ “”)
局_用户 = 文本_取出中间文本 (局_用户, “title=” + #引号, #引号, , )
跳出循环 ()
.如果真结束
延时 (1000)
.计次循环尾 ()
json.创建 (, , , , )
局_数量 = 局_标签.Cookie_枚举 (“https://live.kuaishou.com”, 局_CK_数组)
.计次循环首 (局_数量, 局_计次)
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].name”, 局_CK_数组 [局_计次].name)
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].path”, 局_CK_数组 [局_计次].path)
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].value”, 局_CK_数组 [局_计次].value)
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].domain”, 局_CK_数组 [局_计次].domain)
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].secure”, 到文本 (局_CK_数组 [局_计次].secure))
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].expires”, 到文本 (局_CK_数组 [局_计次].expires))
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].session”, 到文本 (局_CK_数组 [局_计次].session))
json.置文本 (“数据[” + 到文本 (局_计次 - 1) + “].httpOnly”, 到文本 (局_CK_数组 [局_计次].httpOnly))
.计次循环尾 ()
调试输出 (写到文件 (取运行目录 () + “\ck\” + 局_用户 + “.txt”, 到字节集 (json.到文本 (, , , ))))
json.销毁 ()
.如果真结束
局_标签.页面_跳转网页 (“https://live.kuaishou.com/u/Yq000666886”, )
.计次循环首 (10, )
.如果真 (局_标签.页面_是否已加载完毕 ())
跳出循环 ()
.如果真结束
延时 (1000)
.计次循环尾 ()
.计次循环首 (10, )
局_坐标_输入框 = 局_标签.元素_取坐标 (“#app > div.live-detail > div.liveroom-sidebar.light > div.chat > div.chat-actions > div.chat-input > div > textarea”, , , )
.如果真 (局_坐标_输入框.x ≠ -1)
跳出循环 ()
.如果真结束
延时 (1000)
.计次循环尾 ()
延时 (1000)
置随机数种子 ()
.判断循环首 (真)
局_标签.模拟_鼠标单击 (局_坐标_输入框.x + 5, 局_坐标_输入框.y + 5, 1)
延时 (200)
局_随机数 = 取随机数 (1, 局_话术数)
局_随机时间 = 取随机数 (局_间隔前, 局_间隔后)
局_标签.模拟_输入文本 (局_话术_数组 [局_随机数])
延时 (500)
局_标签.元素_点击 (“#app > div.live-detail > div.liveroom-sidebar.light > div.chat > div.chat-actions > div.chat-input > div > button”, , )
延时 (局_随机时间)
.判断循环尾 ()