前言:
网上抖音私信群发都是安卓端的一些脚本,就是导入UID数据,然后软件会通过调用activity接口自动跳转到指定的抖音用户主页实现逐个跳转私信的效果,这个其实也并不说不好用,就是操作的账号太多了容易封设备,你想想一个设备登录几百个号抖音可能不被识别吗,那是存在的,所以说这种方法虽然简单,但是我觉得并不实用,那么我现在推荐的这个跟那种是完全两码事,说明一点,是易语言源码奥。
优点:
1、网页端私信可以防止设备被封问题
2、cookie登录多账号
3、可通过ADSL拨号防风控
4、源码可二次开发
那么它具体是怎么操作私信的呢,其实就是调用了精易VIP支持库,内核是谷歌浏览器框架所以比较安全,不存在风控被识别的问题,而且能实现js执行,网页填表等操作,所以说用这个去开发抖音私信效果非常好的,下面是我自己已经开发好的一个抖音多账号私信的源码,大家可以拿去进行二次开发,目前所支持的功能为如下。
所支持的功能:
- 每个账号发几条
- 每个账号的间隔
- 清理ck【多账号切换登录用的】
- 导入被私信的账号数据:【一行一个】
- 抖音加入的cookie账号列表
- 显示账号数量、发送用户位置
- 关注+私信、只私信
源码下载地址:【不会编译的联系客服】
抖音cookie多账号私信.e
(170.53 KB, 下载次数: 18)
VIP填表支持库7.0.208下载:
VIP支持库正式版+7.0.208.zip
(4.33 MB, 下载次数: 15)
源码公开:
- .版本 2
- .支持库 ietb
- .支持库 spec
- .支持库 iext
- .支持库 eAPI
- .程序集 窗口程序集_启动窗口
- .程序集变量 页面, 谷歌页面
- .程序集变量 ccookiesA, 文本型, , "0"
- .子程序 _按钮1_被单击
- .局部变量 是否成功, 逻辑型
- .局部变量 谷歌浏览器路径, 文本型
- .局部变量 arg, 谷歌启动参数
- ' 谷歌浏览器都必须初始化, 初始化1() 是简化版的初始化
- 谷歌浏览器路径 = “C:\Program Files\Google\Chrome Dev\Application\chrome.exe” ' 获取失败需要手动指定浏览器路径
- ' 谷歌浏览器路径 = 谷歌浏览器.取谷歌浏览器路径 () ' 获取失败需要手动指定浏览器路径
- arg.添加参数 (“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, 文本型
- _启动窗口.位置 = 2
- 发送id = 分割文本 (编辑框5.内容, #换行符, )
- 页面 = 谷歌浏览器.取页面 (1, )
- ' 登录情况 = 页面.添加Cookies (ccookiesA [到整数 (编辑框4.内容)], 真)
- 记录id = 1
- cookieAAA = 到文本 (读入文件 (取运行目录 () + “/账号cookie.txt”))
- 调试输出 (cookieAAA)
- 分组ck = 分割文本 (cookieAAA, “----------”, )
- _启动窗口.标题 = “登录成功”
- .计次循环首 (取数组成员数 (分组ck), a)
- 调试输出 (取数组成员数 (分组ck))
- 当前ck = 分组ck [a]
- 页面 = 谷歌浏览器.取页面 (1, )
- 登录情况 = 页面.添加Cookies (当前ck, 真)
- .判断开始 (登录情况 = 真)
- _启动窗口.标题 = “登录成功了”
- 延迟 (1000)
- .计次循环首 (取数组成员数 (发送id) ÷ 取数组成员数 (分组ck), z)
- 记录id = 记录id + 1
- 标签6.标题 = 到文本 (记录id)
- 页面.浏览网页 (“https://www.douyin.com/user/” + 发送id [记录id], 真)
- 延迟 (3000)
- _按钮6_被单击 ()
- 延迟 (2000)
- .计次循环尾 ()
- .默认
- .判断结束
- .计次循环尾 ()
- .子程序 _按钮6_被单击
- .局部变量 搜索框, 网页元素
- .局部变量 按钮, 网页元素, , "0"
- .局部变量 a, 整数型
- .局部变量 源码, 文本型
- .局部变量 v, 整数型
- .局部变量 私信源码, 网页元素, , "0"
- .局部变量 g, 整数型
- .局部变量 源码B, 文本型
- .局部变量 话术, 文本型, , "0"
- 话术 = 分割文本 (编辑框2.内容, #换行符, )
- .判断开始 (单选框2.选中 = 真)
- .计次循环首 (10, g)
- 模拟鼠标点击 (1081, 261, ) ' 点击私信
- 延迟 (500)
- .计次循环尾 ()
- 延迟 (2000)
- ' 模拟鼠标点击 (757, 212, )'点击第一条
- 延迟 (1000)
- 模拟鼠标点击 (903, 629, )
- 延迟 (1000)
- 置剪辑板文本 (话术 [取随机数 (1, 取数组成员数 (话术))])
- 模拟按键 (#Ctrl键, #V键, )
- 延迟 (1000)
- 模拟按键 (#回车键, , )
- .判断 (单选框1.选中 = 真)
- 延迟 (3000)
- 延迟 (3000)
- 模拟鼠标点击 (1062, 261, )
- 模拟鼠标点击 (1062, 261, )
- .计次循环首 (10, g)
- 模拟鼠标点击 (1165, 261, ) ' 点击私信
- 延迟 (500)
- .计次循环尾 ()
- 延迟 (2000)
- ' 模拟鼠标点击 (757, 212, )'点击第一条
- 延迟 (1000)
- 模拟鼠标点击 (951, 629, )
- 延迟 (1000)
- 置剪辑板文本 (话术 [取随机数 (1, 取数组成员数 (话术))])
- 模拟按键 (#Ctrl键, #V键, )
- 延迟 (1000)
- 模拟按键 (#回车键, , )
- .默认
- .判断结束
- ' 搜索框 = 页面.元素_取对象 (编辑框3.内容, , ) ' 选择器方式
- ' 调试输出 (搜索框.取内容 ())
- ' 调试输出 (搜索框.取网页源码W ())
- ' 页面.清除Cookie ()
- .子程序 _分组框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, 真)
复制代码 工具截图:
|
|