小红书无水印视频提取工具,解析快手抖音西瓜哔哩,易语言框架版

简介: 这个框架其实是我很早之前就开发的,但是今天我试了一下发现还能正常跑通,自己留着也浪费了,因为前期我开发的时候大概花费了10天左右,废了很大的心血,感觉分享出来。

这个框架其实是我很早之前就开发的,但是今天我试了一下发现还能正常跑通,自己留着也浪费了,因为前期我开发的时候大概花费了10天左右,废了很大的心血,感觉分享出来。

下载地址:https://www.pan38.com/share.php?code=KuVya 提取码:8888

源码部分:【仅供学习参考】

```.版本 2
.支持库 iext
.支持库 iext2

.程序集 窗口程序集_启动窗口
.程序集变量 DVD, 播放器
.程序集变量 待解析网址, 文本型, , , 分享时网址
.程序集变量 所属平台, 文本型, , , 抖/快/B...
.程序集变量 类型, 整数型, , , 1.jpg,2.mp4,3.mp3
.程序集变量 网址, 文本型, , , 下载直链
.程序集变量 重试次数, 整数型, , , 接口1连接失败重试
.程序集变量 现所在行, 整数型, , , 解析历史

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

DVD.创建 (启动窗口.取窗口句柄 (), 18, 18, 268, 476, )
DVD.界面模式 (“none”)
多线程模块
启动线程 (&预加载, , , , )
返回 ()

.子程序 预加载, , , 配置项等等
.局部变量 i, 整数型
.局部变量 json, 类_json, 静态
.局部变量 啥接口, 文本型

.如果真 (目录是否存在 (取运行目录 () + “\已解析视频\”) = 假)
创建目录 (取运行目录 () + “\已解析视频\”)
写到文件 (取运行目录 () + “\已解析视频\配置.ini”, #配置本)
.如果真结束
.如果真 (文件是否存在 (取运行目录 () + “\已解析视频\配置.ini”) = 假)
写到文件 (取运行目录 () + “\已解析视频\配置.ini”, #配置本)
.如果真结束
啥接口 = 读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “默认接口”, )
编辑框1
播放次.内容 = 读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “重复播放”, )
.如果真 (啥接口 = “1”)
单选框接口1.选中 = 真
.如果真结束
.如果真 (啥接口 = “2”)
单选框
接口2.选中 = 真
.如果真结束
.如果真 (啥接口 = “3”)
单选框接口3.选中 = 真
.如果真结束
.如果真 (啥接口 = “4”)
单选框
接口4.选中 = 真
.如果真结束

.如果 (读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动下载”, ) = “真”)
选择框下载.选中 = 真
.否则
选择框
下载.选中 = 假
.如果结束
.如果 (读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动播放”, ) = “真”)
选择框播放.选中 = 真
.否则
选择框
播放.选中 = 假
.如果结束
DVD.播放次数 (到整数 (读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “重复播放”, )))

.计次循环首 (25, i) ' 读取最近解析历史数据
json.解析 (读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “解析历史”, “数据” + 到文本 (i), ), , )
.如果真 (json.取通用属性 (“视频地址”, ) ≠ “”)
超级列表框1.插入表项 (0, , , , , )
超级列表框1.置标题 (0, 0, 到文本 (超级列表框1.取表项数 ()))
超级列表框1.置标题 (0, 1, json.取通用属性 (“['标题']”, ))
超级列表框1.置标题 (0, 2, “旧数据”)
超级列表框1.置标题 (0, 3, json.取通用属性 (“['视频地址']”, ))
超级列表框1.置标题 (0, 4, json.取通用属性 (“['配音地址']”, ))
超级列表框1.置标题 (0, 5, json.取通用属性 (“['封面地址']”, ))
超级列表框1.置标题 (0, 6, json.取通用属性 (“['直链地址']”, ))
.如果真结束
处理事件 ()
.计次循环尾 ()

现所在行 = 到整数 (读配置项 (取运行目录 () + “\已解析视频\配置.ini”, “解析历史”, “现所在行”, ))
.如果真 (现所在行 ≥ 25)
现所在行 = 1
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “解析历史”, “现所在行”, 到文本 (现所在行))
.如果真结束
连接服务器 ()

返回 ()

.子程序 连接服务器, , , 接口1专用
.局部变量 局_计时开始, 日期时间型
.局部变量 连接状态, 逻辑型

.如果真 (单选框接口1.选中)
计时开始 = 取现行时间 ()
.如果真 (客户1.连接 (“a.cnxw.site”, 19730) = 假)
标签提示.标题 = “接口1,连接失败,正在重试!”
连接状态 = 真
.如果真结束
.如果 (连接状态 = 假)
标题 = “视频解析 V3.0 公益版 - 在线中”
.否则
标签
提示.标题 = “服务器连接失败,10秒后自动尝试连接”
时钟2.时钟周期 = 10000
.如果结束

.如果真结束
返回 ()

.子程序 多平台解析, , , 接口1由 精易用户 qq261583065 提供
.局部变量 待发送数据, 字节集, 静态

待发送数据 = 到字节集 (所属平台 + “:” + 待解析网址)
客户1.发送数据 (待发送数据)
返回 ()

.子程序 客户1数据到达, , , 接口1由 精易用户 qq261583065 提供
.局部变量 js, 类_json, 静态
.局部变量 返回值, 文本型

按钮添加.标题 = “解 析”
按钮
添加.禁止 = 假
返回值 = 文本_替换 (编码Utf8到Ansi (客户1.取回数据 ()), , , , 字符 (10), “”, 字符 (13), “”, “ ”, “”, , , , )
js.解析 (返回值, , )
.如果 (js.取通用属性 (“code”, ) = “1”)
标签
详细.标题 = js.取数据文本 ()
编辑框标题.内容 = js.取通用属性 (“标题”, )
编辑框
封面.内容 = js.取通用属性 (“封面”, )
编辑框直链1.内容 = js.取通用属性 (“视频”, )
编辑框
直链2.内容 = js.取通用属性 (“音频”, )
标签提示.标题 = “解 析 成 功”
时钟1.时钟周期 = 1000
js.清除 ()
.否则
.如果真 (js.取通用属性 (“code”, ) ≠ “5”)
标签
详细.标题 = js.取数据文本 ()
js.清除 ()
.如果真结束

.如果结束
返回 ()

.子程序 阿怪API解析, , , 接口2由 api.aagtool.top 提供
.局部变量 返回值, 文本型
.局部变量 json, 类_json, 静态

返回值 = 编码Utf8到Ansi (网页访问对象 (“https://api.aagtool.top/api/” + 所属平台 + “?url=” + 待解析网址 + “/”, 0, , , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203”, , , , , , , , , , , , , ))
json.解析 (返回值, , )
按钮
添加.禁止 = 假
按钮添加.标题 = “解 析”
标签
详细.标题 = 返回值

.如果真 (json.取通用属性 (“code”, ) = “1”)
标签提示.标题 = “请 稍 候 再 试”
标签
详细.标题 = 返回值
返回 ()
.如果真结束

编辑框标题.内容 = json.取通用属性 (“title”, )
.如果真 (所属平台 = “dywsyjx”) ' 抖音
编辑框
直链1.内容 = json.取通用属性 (“url”, )
.如果真结束
.如果真 (所属平台 = “bzspjx”) ' B站
编辑框直链1.内容 = json.取通用属性 (“url”, )
.如果真结束
.如果真 (所属平台 = “kswsyjx”) ' 快手
编辑框
直链1.内容 = json.取通用属性 (“url1”, )
编辑框直链2.内容 = json.取通用属性 (“url2”, )
.如果真结束
.如果真 (所属平台 = “bzspjx” 或 所属平台 = “kswsyjx”)
编辑框
封面.内容 = json.取通用属性 (“videocoverurl”, )
.如果真结束

标签_提示.标题 = “解 析 成 功”
json.清除 ()
时钟1.时钟周期 = 1000

返回 ()

.子程序 抖音解析, , , 接口3由 api2.52jan.com 提供 真批量解析 仅限抖音
.局部变量 返回值, 文本型
.局部变量 json, 类_json

' 真批量解析,前提是得拿到视频的ID ,videolist=[id1,id2,id3....] 这样能官方批量解析,本人在这只做单条解析用
按钮
添加.禁止 = 假
按钮_添加.标题 = “解 析”
返回值 = 编码Utf8到Ansi (网页访问对象 (待解析网址, 0, , , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203”, , , 真, , , , , , , , , , ))
返回值 = 文本
取出中间文本 (返回值, “video/”, “/?”, , )
返回值 = 编码Utf8到Ansi (网页访问_对象 (“http://api2.52jan.com/video_info”, 1, “video_list=[” + 返回值 + “]”, , , , , , , , , , , , , , , , ))
json.解析 (返回值, , )

.如果真 (json.取通用属性 (“['aweme_details'][0].video['play_addr']['urllist'][0]”, ) ≠ “”)
编辑框
标题.内容 = json.取通用属性 (“['awemedetails'][0].desc”, )
编辑框
直链1.内容 = json.取通用属性 (“['aweme_details'][0].video['play_addr']['url_list'][” + 到文本 (json.成员数 (“['aweme_details'][0].video['play_addr']['urllist']”) - 1) + “]”, )
编辑框
直链2.内容 = json.取通用属性 (“['aweme_details'][0].video['play_addr']['urllist'][0]”, )
标签
提示.标题 = “解 析 成 功”
时钟1.时钟周期 = 500
.如果真结束

标签_详细.标题 = json.取数据文本 ()
json.清除 ()
' 调试输出 (“视频作者:” + json.取通用属性 (“['aweme_details'][0].author.nickname”, ))
返回 ()

.子程序 多平台API, , , 接口4 由 精易用户 qq261583065 提供
.局部变量 局提交协议头, 文本型
.局部变量 局
结果, 字节集
.局部变量 局_返回, 文本型
.局部变量 js, 类_json, 静态
.局部变量 json, 类_json, 静态

按钮添加.禁止 = 假
按钮
添加.标题 = “解 析”
局_提交协议头 = “User-Agent: Mozilla/5.0 (iPad; CPU OS 110 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1”
结果 = 网页访问 (“http://jx.cnxw.site/” + 待解析网址, 1, , , , 局提交协议头, , 真, , , , , , )
局_返回 = 到文本 (编码Utf8到Ansi (局结果))
js.解析 (局_返回, , )

.如果 (js.取通用属性 (“code”, ) = “1”)
.如果真 (js.取通用属性 (“message”, ) = “成功”)
json.解析 (js.取通用属性 (“text”, ), , )
编辑框标题.内容 = json.取通用属性 (“标题”, )
编辑框
封面.内容 = json.取通用属性 (“封面”, )
编辑框直链1.内容 = json.取通用属性 (“视频”, )
编辑框
直链2.内容 = json.取通用属性 (“音频”, )
标签提示.标题 = “解 析 成 功”
时钟1.时钟周期 = 1000
json.清除 ()
.如果真结束
标签
详细.标题 = js.取数据文本 ()
返回 ()
.否则
.如果真 (js.取通用属性 (“code”, ) ≠ “5”)
标签_详细.标题 = js.取数据文本 ()
js.清除 ()
.如果真结束

.如果结束
返回 ()

.子程序 按钮添加_被单击, , , 一键解析不同平台

按钮添加.禁止 = 真
按钮
添加.标题 = “解 析 中”
标签_提示.标题 = “正在提交解析中...”

待解析网址 = 正则匹配单个 (标签待解释.标题, 1, )
.如果真 (待解析网址 = “1”)
按钮添加.标题 = “解 析”
按钮
添加.禁止 = 假
返回 ()
.如果真结束
编辑框标题.内容 = “”
编辑框
封面.内容 = “”
编辑框直链1.内容 = “”
编辑框
直链2.内容 = “”

.如果真 (单选框接口1.选中 = 真)
.如果真 (文本
寻找文本 (待解析网址, “douyin”, , ) ≠ -1) ' 抖音
所属平台 = “抖音”
.如果真结束
.如果真 (文本寻找文本 (待解析网址, “kuaishou”, , ) ≠ -1) ' 快手
所属平台 = “快手”
.如果真结束
.如果真 (文本
寻找文本 (待解析网址, “bilibili”, , ) ≠ -1) ' B站
所属平台 = “哔哩哔哩”
.如果真结束
.如果真 (文本寻找文本 (待解析网址, “ixigua”, , ) ≠ -1) ' 西瓜
所属平台 = “西瓜视频”
.如果真结束
.如果真 (文本
寻找文本 (待解析网址, “toutiao”, , ) ≠ -1) ' 头条
所属平台 = “今日头条”
.如果真结束
.如果真 (文本寻找文本 (待解析网址, “weibo”, , ) ≠ -1) ' 微博
所属平台 = “微博”
.如果真结束
.如果真 (文本
寻找文本 (待解析网址, “haokan”, , ) ≠ -1) ' 好看
所属平台 = “好看视频”
.如果真结束
标签详细.标题 = “正在提交解析: ” + 所属平台 + #换行符 + 待解析网址
多线程模块
启动线程 (&多平台解析, , , , )
返回 ()
.如果真结束
.如果真 (单选框接口2.选中 = 真)
.如果真 (文本
寻找文本 (待解析网址, “douyin”, , ) ≠ -1) ' 抖音
所属平台 = “dywsyjx”
.如果真结束
.如果真 (文本寻找文本 (待解析网址, “kuaishou”, , ) ≠ -1) ' 快手
所属平台 = “kswsyjx”
.如果真结束
.如果真 (文本
寻找文本 (待解析网址, “bilibili”, , ) ≠ -1) ' B站
所属平台 = “bzspjx”
.如果真结束
标签详细.标题 = “正在提交解析: ” + 所属平台 + #换行符 + 待解析网址
多线程模块
启动线程 (&阿怪API解析, , , , )
返回 ()
.如果真结束
.如果真 (单选框接口3.选中 = 真)
标签
详细.标题 = “正在提交解析: ” + #换行符 + 待解析网址
多线程模块启动线程 (&抖音解析, , , , )
返回 ()
.如果真结束
.如果真 (单选框
接口4.选中 = 真)
标签详细.标题 = “正在提交解析: ” + #换行符 + 待解析网址
多线程模块
启动线程 (&多平台API, , , , )
.如果真结束

返回 ()

.子程序 正则匹配单个, 文本型, , 匹配 粘贴过来的 各平台网址 提取网址
.参数 源文本, 文本型, , 欲被匹配的文本
.参数 匹配索引, 整数型, , 表达式的索引,从1开始将代表为子匹配文本的索引。
.参数 子匹配索引, 整数型, 可空, 可空。 子表达式的索引,从1开始将代表为子匹配文本的索引
.局部变量 局
正则, 正则表达式类

.如果真 (局正则.创建 (“[a-zA-z]+://[^\s]*”, 源文本, 假, 假, 真, 真) = 假)
信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
返回 (“1”)
.如果真结束
.如果真 (局
正则.取匹配数量 () = 0)
信息框 (“网址不正确,请粘贴分享时的网址!”, #错误图标, , )
返回 (“1”)
.如果真结束
.如果真 (匹配索引 < 1)
信息框 (“参数二 - 匹配索引必须大于0。”, #错误图标, , )
返回 (“1”)
.如果真结束

.判断开始 (匹配索引 > 0 且 子匹配索引 > 0) ' 如果 匹配索引 和 子匹配索引 都大于0,则匹配子匹配文本
返回 (局_正则.取子匹配文本 (匹配索引, 子匹配索引, ))

.判断 (匹配索引 > 0) ' 如果只有匹配索引大于0,则返回指定的匹配文本
返回 (局_正则.取匹配文本 (匹配索引, ))
.默认

.判断结束
返回 (“1”)

.子程序 按钮粘贴_被单击, , , 粘贴分享过来的网址

标签待解释.标题 = 删首尾空 (取剪辑板文本 ())
标签
提示.标题 = “支持多平台”
返回 ()

.子程序 超级列表框1左键单击表项, , , 左键单击 把信息显示到左下方

.如果真 (超级列表框1.取标题 (超级列表框1.现行选中项, 1) ≠ “”)
编辑框标题.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
编辑框
封面.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
编辑框直链1.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 3)
编辑框
直链2.内容 = 超级列表框1.取标题 (超级列表框1.现行选中项, 4)
标签待解释.标题 = 超级列表框1.取标题 (超级列表框1.现行选中项, 6)
标签
提示.标题 = “左键双击 播放视频 / 右键单击 下载视频”
标签详细.标题 = 编辑框标题.内容 + #换行符 + 超级列表框1.取标题 (超级列表框1.现行选中项, 6) + #换行符 + “直链1:” + 编辑框直链1.内容 + #换行符 + “直链2:” + #换行符 + 编辑框直链2.内容 + #换行符 + “封面地址:” + #换行符 + 编辑框_封面.内容
.如果真结束
返回 ()

.子程序 超级列表框1右键单击表项, , , 右键单击 下载视频

.如果真 (超级列表框1.取标题 (超级列表框1.现行选中项, 3) ≠ “”)
标签提示.标题 = “视频正在下载...”
类型 = 2
网址 = 超级列表框1.取标题 (超级列表框1.现行选中项, 3)
多线程模块
启动线程 (&文件下载, , , , )
.如果真结束
返回 ()

.子程序 超级列表框1被双击, 逻辑型, , 左键双击播放视频
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.如果真 (编辑框直链1.内容 ≠ “”)
处理事件 ()
DVD.地址 (编辑框
直链1.内容)
标签提示.标题 = “正在播放...”
标签
详细.标题 = 编辑框标题.内容 + #换行符 + 编辑框直链1.内容
.如果真结束
返回 (真)

.子程序 文件下载, , , 视频下载
.局部变量 类别, 文本型
.局部变量 i, 整数型

处理事件 ()
.如果真 (目录是否存在 (取运行目录 () + “\已解析视频”) = 假)
创建目录 (取运行目录 () + “\已解析视频”)
.如果真结束
.如果真 (类型 = 1)
类别 = “.jpg”
.如果真结束
.如果真 (类型 = 2)
类别 = “.mp4”
.如果真结束
.如果真 (类型 = 3)
类别 = “.mp3”
.如果真结束
网页
断点续传 (网址, 取运行目录 () + “\已解析视频\” + 到文本 (类型) + “_” + 到文本 (取现行时间 ()) + 类别, 到整数 (&下载回调))
超级列表框1.置标题 (超级列表框1.现行选中项, 2, “已下载”)
返回 ()

.子程序 下载回调, , , 下载进度
.参数 待下载文件总长度, 整数型
.参数 已下载总长度, 整数型

处理事件 ()
进度条下载进度.位置 = 四舍五入 (指针到长整数型汇编 (已下载总长度) ÷ 指针到长整数型汇编 (待下载文件总长度) × 100, )
.如果真 (进度条
下载进度.位置 = 100)
标签提示.标题 = “视频已下载完成”
标签
详细.标题 = “已下载到:” + 取运行目录 () + “\已解析视频”
.如果真结束
返回 ()

.子程序 选择框下载_被单击, , , 开关自动下载

.如果 (选择框下载.选中 = 真)
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动下载”, “真”)
标签
提示.标题 = “自动下载 已开启”
.否则
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动下载”, “假”)
标签_提示.标题 = “自动下载 已关闭”
.如果结束
返回 ()

.子程序 选择框播放_被单击, , , 开关自动播放

.如果 (选择框播放.选中 = 真)
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动播放”, “真”)
标签
提示.标题 = “自动播放 已开启”
.否则
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “自动播放”, “假”)
标签_提示.标题 = “自动播放 已关闭”
.如果结束
返回 ()

.子程序 单选框接口1_被单击, , , 选择接口1 服务

写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “默认接口”, “1”)
多线程模块启动线程 (&连接服务器, , , , )
标签
提示.标题 = “接口1 采用客户Duan 连接方式”
返回 ()

.子程序 单选框接口2_被单击, , , 选译接口2 服务

写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “默认接口”, “2”)
标签_提示.标题 = “接口2 采用网页APi 连接方式”
客户1.断开连接 ()
返回 ()

.子程序 单选框接口3_被单击, , , 选译接口3 服务

写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “默认接口”, “3”)
标签_提示.标题 = “接口3 仅限 抖音解析”
客户1.断开连接 ()
返回 ()

.子程序 单选框接口4_被单击, , , 选译接口4 服务

写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “默认接口”, “4”)
标签_提示.标题 = “接口3、接口1同源 采用 网页API方式”
客户1.断开连接 ()
返回 ()

.子程序 标签9鼠标左键被放开, 逻辑型, , 打开已下载目录
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

.如果真 (目录是否存在 (取运行目录 () + “\已解析视频”) = 假)
创建目录 (取运行目录 () + “\已解析视频”)
.如果真结束
标签
提示.标题 = “正在打开下载目录”
文件_执行 (取运行目录 () + “\已解析视频”, , 0)
返回 ()

.子程序 图片框1鼠标左键被放开, 逻辑型, , 二开请保留原作者信息
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

图片框1.可视 = 假
标签提示.标题 = “开发不易,且行且珍惜”
标签
详细.标题 = #换行符 + “ 接口1 由 bbs.125.la/?278535 提供” + #换行符 + #换行符 + “ 接口2 阿怪 api.aagtool.top 提供” + #换行符 + #换行符 + “接口3 由 api2.52jan.com 提供” + #换行符 + #换行符 + “ 非常感谢他们的大无私精神!”
返回 ()

.子程序 时钟1周期事件, , , 自动下载和播放用
.局部变量 json, 类_json, 静态

超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (0, 0, 到文本 (超级列表框1.取表项数 ()))
超级列表框1.置标题 (0, 1, 编辑框标题.内容)
超级列表框1.置标题 (0, 2, “待下载”)
超级列表框1.置标题 (0, 3, 编辑框
直链1.内容)
超级列表框1.置标题 (0, 4, 编辑框直链2.内容)
超级列表框1.置标题 (0, 5, 编辑框
封面.内容)
超级列表框1.置标题 (0, 6, 待解析网址) ' 原来链
.如果真 (超级列表框1.取表项数 () > 25)
超级列表框1.删除表项 (25)
.如果真结束
.如果真 (选择框下载.选中)
类型 = 2
网址 = 编辑框
直链1.内容
多线程模块启动线程 (&文件下载, , , , )
超级列表框1.置标题 (0, 2, “已下载”)
.如果真结束
.如果真 (选择框
播放.选中)
DVD.地址 (编辑框_直链1.内容)
.如果真结束

json.加成员 (编辑框标题.内容, “标题”, , )
json.加成员 (编辑框
直链1.内容, “视频地址”, , )
json.加成员 (编辑框直链2.内容, “配音地址”, , )
json.加成员 (编辑框
封面.内容, “封面地址”, , )
json.加成员 (待解析网址, “直链地址”, , )
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “解析历史”, “数据” + 到文本 (现所在行), json.取数据文本 ())
现所在行 = 现所在行 + 1
写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “解析历史”, “现所在行”, 到文本 (现所在行))
json.清除 ()

时钟1.时钟周期 = 0
返回 ()

.子程序 时钟2周期事件, , , 自动重连服务器,接口1用

多线程模块启动线程 (&连接服务器, , , , )
.如果真 (重试次数 = 3)
客户1.断开连接 ()
标签
提示.标题 = “已重试N多次无法连接服务器,请使用接口2”
重试次数 = 0
时钟2.时钟周期 = 0
返回 ()
.如果真结束
重试次数 = 重试次数 + 1
时钟2.时钟周期 = 0

.子程序 标签下载1鼠标左键被放开, 逻辑型, , 下载
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

类型 = 1
网址 = 编辑框封面.内容
多线程模块
启动线程 (&文件下载, , , , )

.子程序 标签下载2鼠标左键被放开, 逻辑型, , 下载
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

类型 = 2
网址 = 编辑框直链1.内容
多线程模块
启动线程 (&文件下载, , , , )

.子程序 标签下载3鼠标左键被放开, 逻辑型, , 下载
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

类型 = 2
网址 = 编辑框直链2.内容
多线程模块
启动线程 (&文件下载, , , , )

.子程序 标签赞助_鼠标左键被放开, 逻辑型, , 二开请保留原作者信息
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

图片框1.调整层次 (1)
图片框1.可视 = 真
标签提示.标题 = “赞助点呗 谢谢”
标签
详细.标题 = #换行符 + “ 本程序 由 JCOS https://bbs.125.la/?578637 开发” + #换行符 + #换行符 + “ 请且用且珍惜 有条件的赏包烟 谢谢!”
返回 ()

.子程序 标签复标题_鼠标左键被放开, 逻辑型, , 复制
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

置剪辑板文本 (编辑框标题.内容)
标签
提示.标题 = “已复制 标题”

.子程序 标签复封面_鼠标左键被放开, 逻辑型, , 复制
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

置剪辑板文本 (编辑框封面.内容)
标签
提示.标题 = “已复制 封面地址”

.子程序 标签复直链1_鼠标左键被放开, 逻辑型, , 复制
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

置剪辑板文本 (编辑框直链1.内容)
标签
提示.标题 = “已复制 直链地址”

.子程序 标签复直链2_鼠标左键被放开, 逻辑型, , 复制
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

置剪辑板文本 (编辑框直链2.内容)
标签
提示.标题 = “已复制 连接地址”

.子程序 标签随机_鼠标左键被放开, 逻辑型, , 可用于游戏
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 json, 类_json, 静态
.局部变量 返回值, 文本型

返回值 = 编码utf8到gb2312 (到文本 (网页访问对象 (“https://api.aagtool.top/api/sjsfz?country=cn”, 0, , , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203”, , , , , , , , , , , , , )))
json.解析 (返回值, , )
.如果真 (json.取通用属性 (“code”, ) = “1”)
标签
提示.标题 = “请 稍 候 再 试”
标签详细.标题 = json.取通用属性 (“message”, )
返回 ()
.如果真结束
标签
提示.标题 = json.取通用属性 (“user”, ) + “ :” + json.取通用属性 (“userid”, )
置剪辑板文本 (标签提示.标题)
标签
详细.标题 = “已复制到剪辑板” + #换行符 + 返回值
返回 ()

.子程序 标签详细_被双击, 逻辑型, , 复制详情
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

置剪辑板文本 (标签详细.标题)
标签
提示.标题 = “已把详情 复制到剪辑板”

.子程序 编辑框1播放次_内容被改变, , , 视频重复播放次数

写配置项 (取运行目录 () + “\已解析视频\配置.ini”, “视频解析”, “重复播放”, 编辑框1播放次.内容)
DVD.播放次数 (到整数 (编辑框1
播放次.内容))

.子程序 _启动窗口将被销毁, , , 退出程序

客户1.断开连接 ()
DVD.销毁 ()
处理事件 ()
结束 ()

```

image.png

相关文章
|
9天前
|
人工智能 自然语言处理 搜索推荐
AI 搜索 MCP 最佳实践
本文介绍了如何通过 MCP 协议,快速调用阿里云 OpenSearch 、ElasticSearch 等工具,帮助企业快速集成工具链、降低开发复杂度、提升业务效率。
109 30
AI 搜索 MCP 最佳实践
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
当无人机遇上Agentic AI:新的应用场景及挑战
本文简介了Agentic AI与AI Agents的不同、Agentic无人机的概念、应用场景、以及所面临的挑战
106 5
当无人机遇上Agentic AI:新的应用场景及挑战
|
9天前
|
数据库 对象存储
2025年 | 7月云大使推广奖励规则
云大使推广返利活动,企业新用户下单返佣加码5%,推广最高返佣45%,新老用户都可参与返利活动。
|
10天前
|
数据采集 JSON API
Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
本文介绍如何利用智能体与Python代码批量处理Excel中的脏数据,解决人工录入导致的格式混乱、逻辑错误等问题。通过构建具备数据校验、异常标记及自动修正功能的系统,将数小时的人工核查任务缩短至分钟级,大幅提升数据一致性和办公效率。
|
22天前
|
人工智能 安全 Java
AI Agent 的工程化被低估了
本文探讨了AI应用工程化的关键作用与实现路径,将其分为产品工程和技术工程两大部分。产品工程关注用户体验与交互设计,包括需求建模、UI/UX设计、系统提示词优化及反馈闭环构建,确保AI“能用、好用”。技术工程则聚焦系统稳定性与扩展性,涵盖架构模块化、工具调用机制、流量控制、数据管理及可观测性建设,保障AI应用“快、稳、强”。两者协同决定了AI Agent的实用性与规模化潜力,为行业提供了落地参考。
384 30
AI Agent 的工程化被低估了
|
弹性计算 Kubernetes 数据处理
KubeRay on ACK:更高效、更安全
阿里云 ACK 以托管组件化的方式给客户提供快速搭建Ray集群的能力,并通过结合使用阿里云的调度,存储,日志与监控,给用户提供更佳使用体验。
|
19天前
|
Java 索引
抽象类和接口区别之技术方案与应用实例解析
本文深入解析了面向对象编程中抽象类与接口的区别,涵盖概念、语法、设计差异及应用场景。抽象类适合表示“is-a”关系,提供共同特征与部分实现;接口适用于“has-a”关系,定义行为规范并支持多重继承。通过Java代码示例展示了两者在图形绘制程序中的应用,如抽象类`Shape`和接口`Movable`的使用。合理选择抽象类或接口可提升代码的可维护性和扩展性,为软件开发提供重要指导。
124 6
|
29天前
|
人工智能 分布式计算 大数据
构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践
本文介绍了大数据与AI一体化架构的演进及其实现方法,重点探讨了Data+AI开发全生命周期的关键步骤。文章分析了大模型开发中的典型挑战,如数据管理混乱、开发效率低下和运维管理困难,并提出了解决方案。同时,详细描述了MaxCompute在构建AI时代数据基础设施中的作用,包括其强大的计算能力、调度能力和易用性特点。此外,还展示了MaxCompute在多模态数据处理中的应用实践以及具体客户案例,最后提供了体验MaxFrame解决方案的方式。
136 2