下载地址:https://www.pan38.com/share.php?code=pvvmX 提取码:7783
就是批量解析作品或用户信息或者闲着没事干也可以遍历作品ID或者用户UID用鱼刺通用多线程模板改的当然删删改改的地方不少勉强算是自己用的一个多线程模板没有什么水平,混个参与奖
源码部分:
.版本 2
.支持库 spec
.程序集 解析程序集
.子程序 解析作品id, 逻辑型
.参数 计次, 整数型
.局部变量 id, 文本型
id = 导入信息数组 [计次]
.如果真 (文本_是否为纯数字 (id))
返回 (作品解析 (id))
.如果真结束
输出运行日志 (“解析失败![ 导入作品ID格式错误 ]”, 2)
原子_递增 (运行状态.干活失败计次)
返回 (假)
.子程序 文本_是否为纯数字, 逻辑型, 公开, 是纯数字返回真,否则返回假。
.参数 原文本, 文本型
.局部变量 str, 文本型
str = 删首尾空 (原文本)
返回 (取文本长度 (str) = 取文本长度 (到文本 (到长整数 (str))))
.子程序 解析作品链接, 逻辑型
.参数 计次, 整数型
.局部变量 url, 文本型
.局部变量 url_302, 文本型
.局部变量 id, 文本型
url = 导入信息数组 [计次]
.如果真 (寻找文本 (url, “//”, , 假) = -1)
输出运行日志 (“解析失败![ 导入URL格式错误 ]”, 2)
原子_递增 (运行状态.干活失败计次)
返回 (假)
.如果真结束
url_302 = 取302地址 (url)
.如果真 (url_302 ≠ “”)
url = url302
.如果真结束
id = 文本取中间 (url, “/video/”, “/”, , , , )
.如果真 (id ≠ “”)
返回 (作品解析 (id))
.如果真结束
输出运行日志 (“解析失败![ ID提取失败 ]”, 2)
原子_递增 (运行状态.干活失败计次)
返回 (假)
.子程序 解析用户UID, 逻辑型
.参数 计次, 整数型
.局部变量 uid, 文本型
uid = 导入信息数组 [计次]
.如果真 (文本是否为纯数字 (uid))
返回 (用户解析 (uid))
.如果真结束
输出运行日志 (“解析失败![ 导入用户UID格式错误 ]”, 2)
原子递增 (运行状态.干活失败计次)
返回 (假)
.子程序 解析用户链接, 逻辑型
.参数 计次, 整数型
.局部变量 url, 文本型
.局部变量 url_302, 文本型
.局部变量 uid, 文本型
url = 导入信息数组 [计次]
.如果真 (寻找文本 (url, “//”, , 假) = -1)
输出运行日志 (“解析失败![ 导入URL格式错误 ]”, 2)
原子_递增 (运行状态.干活失败计次)
返回 (假)
.如果真结束
url_302 = 取302地址 (url)
.如果真 (url_302 ≠ “”)
url = url302
.如果真结束
uid = 文本取中间 (url, “/user/”, “?”, , , , )
.如果真 (uid ≠ “”)
返回 (用户解析 (uid))
.如果真结束
输出运行日志 (“解析失败![ UID提取失败 ]”, 2)
原子_递增 (运行状态.干活失败计次)
返回 (假)
.子程序 用户解析, 逻辑型
.参数 uid, 文本型
.局部变量 http, WinHttpR
.局部变量 json, zyJsonValue
.局部变量 str, 文本型
.局部变量 bool, 逻辑型
.局部变量 url, 文本型
.局部变量 msg, 文本型
.局部变量 头像, 文本型
.局部变量 账号, 文本型
.局部变量 粉丝, 文本型
.局部变量 认证, 文本型
.局部变量 昵称, 文本型
.局部变量 签名, 文本型
.局部变量 数字账号, 文本型
.局部变量 喜欢, 文本型
.局部变量 作品, 文本型
.局部变量 关注, 文本型
url = #url_user + uid
.计次循环首 (3, )
http.GET (url, , , , )
str = http.GetResponseTextUtf8ToAnsi ()
bool = json.解析 (str, , , )
.如果真 (bool = 假)
输出运行日志 (“解析失败![ json解析失败 ]”, 2)
到循环尾 ()
.如果真结束
bool = json.是否存在 (“user_info.uid”)
.如果 (bool = 真)
头像 = json.取文本 (“user_info.avatar_larger.url_list[0]”)
账号 = json.取文本 (“user_info.unique_id”)
.如果真 (账号 = “”)
账号 = “未设置”
.如果真结束
' 数字账号 = json.取文本 (“user_info.short_id”)
喜欢 = json.取文本 (“user_info.favoriting_count”)
作品 = json.取文本 (“user_info.aweme_count”)
粉丝 = json.取文本 (“user_info.follower_count”)
关注 = json.取文本 (“user_info.following_count”)
认证 = json.取文本 (“user_info.custom_verify”)
.如果真 (认证 = “”)
认证 = “未认证”
.如果真结束
昵称 = json.取文本 (“user_info.nickname”)
.如果真 (昵称 = “”)
昵称 = “空白昵称”
.如果真结束
签名 = json.取文本 (“userinfo.signature”)
.如果真 (签名 = “”)
签名 = “无个性签名”
.如果真结束
输出运行日志 (“解析成功![” + uid + “]”, 1)
原子递增 (运行状态.干活成功数量)
小号入库 (“用户解析” + 时间戳, 配置_是否输出到数据面板, uid, 账号, 昵称, 认证, 签名, 关注, 粉丝, 作品, 喜欢, 头像) ' 输出到数据面板
返回 (真)
.否则
调试输出 (str)
输出运行日志 (“解析失败![ 返回数据异常 ]”, 2)
.如果结束
.计次循环尾 ()
原子_递增 (运行状态.干活失败计次)
返回 (假)
.子程序 作品解析, 逻辑型
.参数 id, 文本型
.局部变量 http, WinHttpR
.局部变量 json, zyJsonValue
.局部变量 str, 文本型
.局部变量 bool, 逻辑型
.局部变量 url, 文本型
.局部变量 msg, 文本型
.局部变量 评论, 文本型
.局部变量 点赞, 文本型
.局部变量 标题, 文本型
.局部变量 作者, 文本型
.局部变量 音乐, 文本型
.局部变量 视频, 文本型
.局部变量 时间, 文本型
.局部变量 封面, 文本型
.局部变量 UID, 文本型
url = #url_video + id
.计次循环首 (3, ) ' 错误重试
http.GET (url, , , , )
str = http.GetResponseTextUtf8ToAnsi ()
' 调试输出 (str)
bool = json.解析 (str, , , )
.如果真 (bool = 假)
输出运行日志 (“解析失败![ json解析失败 ]”, 2)
到循环尾 ()
.如果真结束
bool = json.是否存在 (“item_list[0].desc”)
.如果 (bool = 真)
评论 = json.取文本 (“item_list[0].statistics.comment_count”)
点赞 = json.取文本 (“item_list[0].statistics.digg_count”)
标题 = json.取文本 (“item_list[0].desc”)
作者 = json.取文本 (“item_list[0].author.nickname”)
音乐 = json.取文本 (“item_list[0].music.play_url.uri”)
.如果真 (音乐 = “”)
音乐 = “原声”
.如果真结束
封面 = json.取文本 (“item_list[0].video.cover.url_list[0]”)
时间 = json.取文本 (“item_list[0].create_time”)
UID = json.取文本 (“item_list[0].author.uid”)
' 账号 = json.取文本 (“item_list[0].unique_id”)
url = json.取文本 (“item_list[0].video.play_addr.urllist[0]”)
url = 子文本替换 (url, “/playwm/”, “/play/”, , , 真)
视频 = 取302地址 (url)
.如果真 (视频 = “”)
视频 = “去水印解析失败”
.如果真结束
输出运行日志 (“解析成功![” + id + “]”, 1)
原子递增 (运行状态.干活成功数量)
小号入库 (“作品解析” + 时间戳, 配置_是否输出到数据面板, id, 时间, 标题, 作者, UID, 评论, 点赞, 视频, 封面, 音乐) ' 输出到数据面板
返回 (真)
.否则
' 调试输出 (str)
输出运行日志 (“解析失败![ 返回数据异常 ]”, 2)
' 到循环尾 ()
.如果结束
.计次循环尾 ()
原子_递增 (运行状态.干活失败计次)
返回 (假)
.子程序 取302地址, 文本型
.参数 url, 文本型
.局部变量 http, WinHttpR
http.SetRedirect (假)
http.GET (url, , “User-Agent: Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36”, , )
返回 (http.GetResponseLocation ())