易语言抖音视频提取工具,点赞,收藏,评论源码

发布时间 2023-10-28 18:57:56作者: 万花技术

下面是界面:

 下面是程序集代码:

.版本 2
.支持库 ietb
.支持库 spec
.支持库 iext

.程序集 窗口程序集_启动窗口
.程序集变量 页面, 谷歌页面
.程序集变量 ccookiesA, 文本型, , "0"

.子程序 _按钮1_被单击
.局部变量 是否成功, 逻辑型
.局部变量 谷歌浏览器路径, 文本型
.局部变量 arg, 谷歌启动参数

' 谷歌浏览器都必须初始化, 初始化1() 是简化版的初始化
谷歌浏览器路径 = “C:\Program Files\Google\Chrome Dev\Application\chrome.exe”  ' 获取失败需要手动指定浏览器路径
' 谷歌浏览器路径 = 谷歌浏览器.取谷歌浏览器路径 ()  ' 获取失败需要手动指定浏览器路径
arg.添加参数 (“https://www.douyin.com/”, )
' arg.添加参数 (“www.douyin.com”, )
arg.缓存目录 = 取运行目录 () + “\例程缓存目录”
arg.调试端口 = 36125
是否成功 = 谷歌浏览器.初始化 (arg, , , 真, , , , )

.如果真 (是否成功 = 假)
    信息框 (格式化文本A (“初始化失败, 错误原因 = %s”, 谷歌浏览器.取最后错误 ()), 0, , )
    返回 ()
.如果真结束
输出调试文本 (“浏览器初始化成功”)
' 谷歌浏览器.置回调函数 (&连接回调, )
' 按钮_取页面.禁止 = 假
' 按钮_取页面.禁止 = 假
按钮1.禁止 = 真

.子程序 _按钮2_被单击
.局部变量 页面数量, 整数型
.局部变量 cookies, 文本型
.局部变量 页面ID, 整数型, , "0"
.局部变量 i, 整数型
.局部变量 返回数据, 文本型
.局部变量 分割账号ID, 文本型, , "0"
.局部变量 返回的ck, 文本型

页面数量 = 谷歌浏览器.取标签数量 (页面ID)
调试输出 (页面数量)
.计次循环首 (页面数量, i)
    页面 = 谷歌浏览器.取页面 (i, )
    调试输出 (页面.取标题 ())
    返回数据 = 页面.取标题 ()
    返回的ck = 页面.获取Cookies (, 真)
    .判断开始 (寻找文本 (返回数据, “音”, , 假) > 0)
        加入成员 (ccookiesA, 返回的ck)
        ' 编辑框3.加入文本 (到文本 (i) + “@”)

    .默认

    .判断结束




.计次循环尾 ()
' 调试输出 (页面ID)
' 如果真 (页面数量 = 0)
' 信息框 (格式化文本A (“获取页面失败, 失败原因 = %s”, 谷歌浏览器.取最后错误 ()), 0, , )
' 返回 ()

' 页面 = 谷歌浏览器.取页面 (1, )
' 调试输出 (页面)
' 页面.附加 (页面ID [1], 真)
' ccookiesA = 页面.获取Cookies (, 真)
' 编辑框1.内容 = ccookiesA
' 页面 = 谷歌浏览器.取页面 (2, )


' 页面.附加 (页面ID [2], 真)

' ccookiesB = 页面.获取Cookies (, 真)
' 编辑框2.内容 = ccookiesB
' 调试输出 (ccookiesA)


.子程序 连接回调, 整数型, , 此回调不是在初始化线程调用, 请注意线程安全
.参数 页面ID, 整数型
.参数 事件类型, 整数型
.参数 附加参数1, 整数型
.参数 附加参数2, 整数型

.如果真 (事件类型 < 256)
    返回 (0)
.如果真结束
.判断开始 (事件类型 = #谷歌事件.页面_框架停止加载)
    ' PostMessageA (取窗口句柄 (), #WM_COMMAND, GetDlgCtrlID (按钮_获取cookie.取窗口句柄 ()), 按钮_获取cookie.取窗口句柄 ())  ' 投递消息是为了在主线程中执行
    ' _按钮1_被单击 ()  ' 如果直接调用, 那按钮1被单击的代码就会在这个事件的线程内执行
.默认

.判断结束
返回 (0)

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

页面 = 谷歌浏览器.取页面 (1, )

页面.添加Cookies (ccookiesA [到整数 (编辑框4.内容)], 真)

.子程序 _按钮7_被单击
.局部变量 分割账号, 文本型, , "0"

' 分割账号 = 分割文本 (编辑框3.内容, “@”, )
编辑框1.内容 = ccookiesA [到整数 (分割账号 [1])]
' 编辑框2.内容 = ccookiesA [到整数 (分割账号 [2])]
编辑框4.内容 = 分割账号 [1]
' 编辑框5.内容 = 分割账号 [2]


.子程序 _按钮8_被单击
.局部变量 返回数据, 文本型
.局部变量 返回的ck, 文本型
.局部变量 文件号, 整数型

页面 = 谷歌浏览器.取页面 (1, )
调试输出 (页面.取标题 ())
返回数据 = 页面.取标题 ()
文件号 = 打开文件 (取运行目录 () + “/账号cookie.txt”, #写出, )
返回的ck = 页面.获取Cookies (, 真)
.判断开始 (寻找文本 (返回数据, “抖音”, , 假) > 0)
    加入成员 (ccookiesA, 返回的ck)
    信息框 (“coolie加入成功”, 0, , )
    移到文件尾 (文件号)
    写出文本 (文件号, 返回的ck + “----------”)
    关闭文件 (文件号)
    调试输出 (ccookiesA)
    标签2.标题 = 到文本 (取数组成员数 (ccookiesA))
    id = id + 1
    调试输出 (id)
    超级列表框1.插入表项 (id - 1, “”, , , , )
    超级列表框1.置标题 (id - 1, 0, 到文本 (id))
    超级列表框1.置标题 (id - 1, 1, 返回的ck)

.默认

.判断结束


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

页面 = 谷歌浏览器.取页面 (1, )
页面.清除Cookie ()

.子程序 _按钮4_被单击
.局部变量 数量, 整数型
.局部变量 a, 整数型
.局部变量 发送id, 文本型, , "0"
.局部变量 登录情况, 逻辑型
.局部变量 z, 整数型
.局部变量 cookieAAA, 文本型
.局部变量 记录id, 整数型
.局部变量 分组ck, 文本型, , "0"
.局部变量 当前ck, 文本型
.局部变量 av, 整数型
.局部变量 返回源码, 文本型

_启动窗口.位置 = 2
发送id = 分割文本 (编辑框5.内容, #换行符, )
页面 = 谷歌浏览器.取页面 (1, )
' 登录情况 = 页面.添加Cookies (ccookiesA [到整数 (编辑框4.内容)], 真)
记录id = 1
cookieAAA = 到文本 (读入文件 (取运行目录 () + “/账号cookie.txt”))
调试输出 (cookieAAA)
分组ck = 分割文本 (cookieAAA, “----------”, )

_启动窗口.标题 = “登录成功”

.计次循环首 (取数组成员数 (分组ck), a)
    调试输出 (取数组成员数 (分组ck))
    当前ck = 分组ck [a]
    页面 = 谷歌浏览器.取页面 (1, )
    登录情况 = 页面.添加Cookies (当前ck, 真)
    .判断开始 (登录情况 = 真)


        .计次循环首 (取数组成员数 (发送id), av)
            页面.浏览网页 (发送id [av], 真)
            延迟 (3000)
            ' 调试输出 (页面.元素_取网页源码 (“class==cU__zeT5”, , ))
            返回源码 = 页面.元素_取网页源码 (“class==cU__zeT5”, , )
            正则_匹配批量数量 (发送id [av], 返回源码)

        .计次循环尾 ()










    .默认

    .判断结束

.计次循环尾 ()











.子程序 正则_匹配批量数量, 整数型, , 本子程序采用【精易编程助手】生成。成功返回匹配的数量,失败返回0。
.参数 网址, 文本型
.参数 源文本, 文本型, , 欲被匹配的文本
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_子匹配数, 整数型
.局部变量 数据, 文本型

.如果真 (局_正则.创建 (“<span class=#引号([\s\S]*?)#引号>([\s\S]*?)</span>”, 源文本, 假, 假, 真, 真) = 假)
    ' 信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
    返回 (0)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()
.如果真 (局_匹配数 = 0)
    ' 信息框 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, , )
    返回 (0)
.如果真结束
局_子匹配数 = 局_正则.取子匹配数量 ()
.计次循环首 (局_匹配数, 局_计次)
    .如果 (局_子匹配数 > 0)
        输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 1:” + 局_正则.取子匹配文本 (局_计次, 2, ))
        ' 编辑框2.加入文本 (局_正则.取子匹配文本 (局_计次, 1, ))
        ' 编辑框3.加入文本 (局_正则.取子匹配文本 (局_计次, 1, ) + “---”)
        输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ :” + 局_正则.取匹配文本 (局_计次, ))
    .否则

    .如果结束

.计次循环尾 ()
编辑框3.加入文本 (局_正则.取子匹配文本 (3, 2, ) + “---” + 局_正则.取子匹配文本 (4, 2, ) + “---” + 局_正则.取子匹配文本 (5, 2, ) + “---” + 局_正则.取子匹配文本 (6, 2, ) + “---”)

编辑框3.内容 = 文本_替换 (编辑框3.内容, , , , “抢首评”, “0”, “收藏”, “0”, “赞”, “0”, “分享”, “0”)

编辑框2.加入文本 (编辑框3.内容 + 网址 + #换行符)

编辑框3.内容 = “”
返回 (局_匹配数)









.子程序 正则_匹配批量, 整数型, , 本子程序采用【精易编程助手】生成。成功返回匹配的数量,失败返回0。
.参数 源文本, 文本型, , 欲被匹配的文本
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_子匹配数, 整数型

.如果真 (局_正则.创建 (“<span class=#引号([\s\S]*?)#引号>([\s\S]*?)</span>”, 源文本, 假, 假, 真, 真) = 假)
    信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
    返回 (0)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()
.如果真 (局_匹配数 = 0)
    信息框 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, , )
    返回 (0)
.如果真结束
局_子匹配数 = 局_正则.取子匹配数量 ()
.计次循环首 (局_匹配数, 局_计次)
    .如果 (局_子匹配数 > 0)
        输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 1:” + 局_正则.取子匹配文本 (局_计次, 1, ))
    .否则
        输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ :” + 局_正则.取匹配文本 (局_计次, ))
    .如果结束

.计次循环尾 ()
返回 (局_匹配数)

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


写到文件 (取运行目录 () + “/数据.txt”, 到字节集 (编辑框2.内容))





.子程序 _分组框6_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型



.子程序 __启动窗口_创建完毕
.局部变量 cookieAAA, 文本型
.局部变量 分组ck, 文本型, , "0"
.局部变量 文件奥

.判断开始 (文件是否存在 (取运行目录 () + “/账号cookie.txt”) = 真)
    _启动窗口.标题 = “cookie文件存在”
    cookieAAA = 到文本 (读入文件 (取运行目录 () + “/账号cookie.txt”))
    分组ck = 分割文本 (cookieAAA, “----------”, )
    调试输出 (cookieAAA)
    标签2.标题 = 到文本 (取数组成员数 (分组ck))
.默认
    写到文件 (取运行目录 () + “/账号cookie.txt”, 到字节集 (“”))

.判断结束


.子程序 _分组框1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型

id = 0

.子程序 _按钮9_被单击
.局部变量 cookie, 文本型

页面 = 谷歌浏览器.取页面 (1, )
cookie = 编辑框1.内容
页面.添加Cookies (cookie, 真)


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

_按钮4_被单击 ()

.子程序 _时钟1_周期事件

编辑框2.内容 = 到文本 (取现行时间 ())
' 判断 (编辑框2.内容 = 编辑框3.内容)
_按钮4_被单击 ()
_启动窗口.标题 = “正在监控时间”