精易论坛

标题: 蓝奏云目录解析 [打印本页]

作者: HEZ小白    时间: 2024-1-20 21:02
标题: 蓝奏云目录解析
本帖最后由 HEZ小白 于 2024-1-20 21:04 编辑

模块调用:
精易模块
      类_json
鱼刺类.HTTP
      WinHttpR
      正则表达式

蓝奏云解析:
优化一些细节问题
优化目录所有文件解析时解析失败
增加文件名返回

蓝奏云解析_目录:
支持密码解析
支持301跳转
蓝奏云解析:
  
子程序名返回值类型公开备 注
蓝奏云解析文本型 
参数名类 型参考可空数组备 注
Url文本型
Pwd文本型
文件名文本型
变量名类 型静态数组备 注
HttpWinHttpR 
Return文本型 
正则正则表达式 
Header文本型 
Data文本型 
sign文本型 
websignkey文本型 
signs文本型 
Json类_json 
Origin文本型 
Host文本型 
文件名后缀文本型 
文件后缀文本型0
x整数型 
正确类型逻辑型 
源_Url文本型 
源_Url = Url
文件名后缀 = “doc,docx,zip,rar,apk,ipa,txt,exe,7z,e,z,ct,ke,cetrainer,db,tar,pdf,w3x,epub,mobi,azw,azw3,osk,osz,xpa,cpk,lua,jar,dmg,ppt,pptx,xls,xlsx,mp3,ipa,iso,img,gho,ttf,ttc,txf,dwg,bat,imazingapp,dll,crx,xapk,conf,deb,rp,rpm,rplib,mobileconfig,appimage,lolgezi,flac,cad,hwt,accdb,ce,xmind,enc,bds,bdi,ssf,it,pkg,cfg”
Http.Open (“GET”, Url, )
Http.SetRequestHeaders (“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
如果真 (Http.GetStatus () = 301)
Url = Http.GetResponseLocation ()
Http.Open (“GET”, Url, )
Http.SetRequestHeaders (“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
Return = Http.GetResponseText_old ()
正则.创建 (“”, , , )
正则.搜索全部 (Return)
文件名 = 正则.取子匹配文本 (1, 1)
如果真 (文件名 = “”)
正则.创建 (“(.*?)
, , , )
正则.搜索全部 (Return)
文件名 = 正则.取子匹配文本 (1, 2)

如果真 (文件名 ≠ “”)
正确类型 = 假
文件后缀 = 分割文本 (文件名后缀, “,”, )
计次循环首 (取数组成员数 (文件后缀), x)
' 调试输出 (文本_取右边 (文件名, “.”, , ))
如果真 (文件后缀 [x]文本_取右边 (文件名, “.”, , ))
正确类型 = 真
跳出循环 ()

计次循环尾 ()
如果真 (正确类型 = )
文件名 = “”


Origin = 文本_取左边 (Url, “/”文本_取右边 (Url, “/”, , ), , )
Host = 文本_替换 (Origin, , , , “https://”, “”, “http://”, “”, , , , , , )
如果 (寻找文本 (Return, “输入密码”, , ) ≠ -1)
如果真 (Pwd = “”)
返回 (“文件受密码保护,请输入密码”)
sign = 文本_取出中间文本 (Return, “skdklds = '”, “';”, , )
Data = “action=downprocess&sign=” + sign + “&p=” + Pwd
Http.Open (“POST”, Origin + “/ajaxm.php”, )
Header = “Accept: application/json, text/javascript, */*”#换行符“Content-Type: application/x-www-form-urlencoded”#换行符“Host: ” + Host + #换行符“Origin: ” + Origin + #换行符“Referer: ” + Url + #换行符“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”
Http.SetRequestHeaders (Header)
Http.Send (Data)
Return = Http.GetResponseText_old ()
正则.创建 (“src=”#引号“(.*?)”#引号, , , )
正则.搜索全部 (Return)
Url = 文本_取左边 (Url, “/”文本_取右边 (Url, “/”, , ), , ) + 正则.取子匹配文本 (2, 1)
Http.Open (“GET”, Url, )
Http.SetRequestHeaders (“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
Return = Http.GetResponseText_old ()
sign = 文本_取出中间文本 (Return, “sign':'”, “','”, , )
websignkey = 文本_取出中间文本 (Return, “aihidcms = '”, “';”, , )
signs = 文本_取出中间文本 (Return, “ajaxdata = '?”, “';”, , )
如果真 (signs = “” sign = “”)
判断循环首 (Return = “”)
Http.Open (“GET”, Url, )
Header = “Accept: application/json, text/javascript, */*”#换行符“Content-Type: application/x-www-form-urlencoded”#换行符“Referer: ” + 源_Url + #换行符“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”
Http.SetRequestHeaders (Header)
Http.Send ()
Return = Http.GetResponseText ()
Return = URLDecodeUtf8 (Return)
判断循环尾 ()
sign = 文本_取出中间文本 (Return, “sign':'”, “','”, , )
websignkey = 文本_取出中间文本 (Return, “aihidcms = '”, “';”, , )
signs = 文本_取出中间文本 (Return, “ajaxdata = '?”, “';”, , )
如果真 (sign = “” websignkey = “” signs = “” Url = Origin)
返回 (蓝奏云解析 (源_Url, , ))

Data = “action=downprocess&signs=%3F” + signs + “&sign=” + sign + “&websign=&websignkey=” + websignkey + “&ves=1”
Http.Open (“POST”, Origin + “/ajaxm.php”, )
Header = “Accept: application/json, text/javascript, */*”#换行符“Content-Type: application/x-www-form-urlencoded”#换行符“Host: ” + Host + #换行符“Origin: ” + Origin + #换行符“Referer: ” + Url + #换行符“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”
Http.SetRequestHeaders (Header)
Http.Send (Data)
Return = Http.GetResponseText_old ()
Json.解析 (Return, , )
如果真 (Json.取通用属性 (“zt”, )“1”)
返回 (Json.取通用属性 (“info”, ))

如果真 (文件名 = “”)
文件名 = Json.取通用属性 (“inf”, )

如果真 (到整数 (Json.取通用属性 (“zt”, )) = 0)
返回 (Json.取通用属性 (“inf”, ))
Http.Open (“GET”, Json.取通用属性 (“dom”, )“/file/” + Json.取通用属性 (“url”, ), )
Http.SetRequestHeaders (“Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6”)
Http.SetRequestHeaders (“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
如果真 (文件名 = “”)
文件名 = 文本_取右边 (Http.GetResponseLocation (), “fn=”, , )
返回 (Http.GetResponseLocation ())

蓝奏云解析_目录:
  
子程序名返回值类型公开备 注
蓝奏云解析_目录文本型 
参数名类 型参考可空数组备 注
Url文本型
Pwd文本型
变量名类 型静态数组备 注
HttpWinHttpR 
Return文本型 
x整数型 
提交数据文本型 
url_data文本型 
t文本型 
k文本型 
pg文本型 
Json类_json 
构建类_json 
结果文本型 
url_data = 文本_取出中间文本 (Url, “https://”, “/”, , )
如果真 (url_data = “”)
url_data = 文本_取出中间文本 (Url, “http://”, “/”, , )

Http.Open (“GET”, Url, )
Http.SetRequestHeaders (“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
如果真 (Http.GetStatus () = 301)
Url = Http.GetResponseLocation ()
Http.Open (“GET”, Url, )
Http.SetRequestHeaders (“User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send ()
Return = Http.GetResponseText ()
Return = URLDecodeUtf8 (Return)
提交数据 = 文本_取中间 (Return, “data : ”, “},”, , , , )“}”
提交数据 = 子文本替换 (提交数据, 字符 (10), “”, , , )
提交数据 = 子文本替换 (提交数据, 字符 (9), “”, , , )
t = 文本_取中间 (Return, 文本_取中间 (提交数据, “t':”, “,'”, , , , )“ = '”, “';”, , , , )
k = 文本_取中间 (Return, 文本_取中间 (提交数据, “k':”, “,'”, , , , )“ = '”, “';”, , , , )
pg = 文本_取中间 (Return, “pgs =”, “;”, , , , )
提交数据 = 文本_替换 (提交数据, , , , “pgs”, pg, 文本_取中间 (提交数据, “t':”, “,'”, , , , ), t, 文本_取中间 (提交数据, “k':”, “,'”, , , , ), k, “{ '”, “”, “':”, “=”)
提交数据 = 文本_替换 (提交数据, , , , “,'”, “&”, “'”, “”, “,}”, “”, , , , )
如果真 (寻找文本 (Return, “输入密码”, , ) ≠ -1)
如果真 (Pwd = “”)
返回 (“文件受密码保护,请输入密码”)
提交数据 = 提交数据 + “&ls=1&pwd=” + Pwd
Url = “https://” + url_data + “/filemoreajax.php”
Http.Open (“POST”, Url, )
Http.SetRequestHeaders (“Accept: application/json, text/javascript, */*”#换行符“Content-Type: application/x-www-form-urlencoded”#换行符“Referer: ” + Url + #换行符“User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0”)
Http.Send (提交数据)
Return = Http.GetResponseText_old ()
Json.解析 (Return, , )
如果真 (Json.取通用属性 (“zt”, )“1”)
返回 (Json.取通用属性 (“info”, ))
构建.清除 ()
构建.置属性 (“['text']”, “[]”, )
计次循环首 (Json.成员数 (“text”), x)
构建.置属性 (“['text'][”到文本 (x - 1)“]”, “{}”, )
构建.置属性 (“['text']['”到文本 (x - 1)“']['icon']”, Json.取通用属性 (“text[”到文本 (x - 1)“].icon”, ), )
构建.置属性 (“['text']['”到文本 (x - 1)“']['Url']”, “https://” + url_data + “/” + Json.取通用属性 (“text[”到文本 (x - 1)“].id”, ), )
构建.置属性 (“['text']['”到文本 (x - 1)“”到文本 (x - 1)“']['name']”, Json.取通用属性 (“text[”到文本 (x - 1)“]['name_all']”, ), )
构建.置属性 (“['text']['”到文本 (x - 1)“']['size']”, Json.取通用属性 (“text[”到文本 (x - 1)“].size”, ), )
构建.置属性 (“['text']['”到文本 (x - 1)“']['time']”, Json.取通用属性 (“text[”到文本 (x - 1)“].time”, ), )
结果 = 蓝奏云解析 (“https://” + url_data + “/” + Json.取通用属性 (“text[”到文本 (x - 1)“].id”, ), , )
构建.置属性 (“['text']['”到文本 (x - 1)“']['parse_Url']”, 结果, )
计次循环尾 ()
返回 (构建.取数据文本 ())
蓝奏云解析.e (1.05 MB, 下载次数: 79)


作者: 447485268    时间: 2024-1-20 21:38
支持开源~!感谢分享
作者: Av0x    时间: 2024-1-20 22:11
优享应该不行吧
作者: 396384183    时间: 2024-1-21 00:32

支持开源~!感谢分享
作者: wh1234567    时间: 2024-1-21 03:59
老师辛苦了
作者: 查过    时间: 2024-1-21 07:35
感谢分享,很给力!~
作者: 豆豆灰常开心    时间: 2024-1-21 07:40
感谢分享,很给力!~
作者: ZHuanR    时间: 2024-1-21 08:44
新技能已get√
作者: kantal    时间: 2024-1-21 09:17
感谢分享,很给力!~
作者: zj19760117    时间: 2024-1-21 09:44
感谢分享,很给力!~
作者: 一指温柔    时间: 2024-1-21 10:32
感谢分享,很给力!~
作者: gaoqing    时间: 2024-1-21 10:43
谢谢分享
作者: pipicool    时间: 2024-1-21 14:48
学习一下
作者: 咪大侠    时间: 2024-1-21 19:23
感谢分享
作者: easyjun    时间: 2024-1-21 19:33
蓝云有密码怎么
作者: 想学易语言    时间: 2024-1-21 20:14
        感谢分享,很给力!~
作者: 亿万    时间: 2024-1-21 20:59
感谢分享,很给力!~
作者: 光影魔术    时间: 2024-1-21 23:43
感谢分享
作者: qqmqqg    时间: 2024-1-22 01:05
6666666666666666666666
作者: 查过    时间: 2024-1-22 07:47
下个学习一下
作者: 豆豆灰常开心    时间: 2024-1-22 07:52
已经顶贴,感谢您对论坛的支持!
作者: w5685993    时间: 2024-1-22 16:38
支持支持
作者: nmzb00    时间: 2024-1-22 23:35
支持下楼主
作者: 随流而至    时间: 2024-1-23 01:22
感谢分享
作者: 1752328925    时间: 2024-1-23 01:58
666666666666
作者: year1970    时间: 2024-1-23 09:12
感谢分享
作者: aiaixiaoye8    时间: 2024-1-24 11:07
感谢分享,很给力!~
作者: 百事可乐2018    时间: 2024-1-25 20:56
谢谢分享666666666666666666
作者: aiaixiaoye8    时间: 2024-1-28 12:14
感谢发布原创作品,精易因你更精彩!666
作者: 阮小辞    时间: 2024-2-10 15:44
#在这里快速回复#123123123123123123123
作者: jiajunchao    时间: 2024-3-20 03:58
感谢分享,支持开源
作者: zx7420    时间: 2024-4-23 20:07
感谢发布原创作品,精易因你更精彩!666
作者: jysoft2022    时间: 2024-5-4 10:34
谢谢分享
作者: pmghwen    时间: 2024-5-4 20:35

作者: ty666ee    时间: 2024-5-5 16:52
学习学习
作者: BruceJoysky1987    时间: 2024-5-10 02:49
巧了,刚好有!
至于数据,你得自己抓

04662FDF5F482E675E77B2515C204496.png (173.45 KB, 下载次数: 1)

04662FDF5F482E675E77B2515C204496.png

作者: BruceJoysky1987    时间: 2024-5-10 02:51
BruceJoysky1987 发表于 2024-5-10 02:49
巧了,刚好有!
至于数据,你得自己抓

一些命令都是精易模块扣的,你可以自己用精易模块
作者: BruceJoysky1987    时间: 2024-5-10 03:59
BruceJoysky1987 发表于 2024-5-10 02:49
巧了,刚好有!
至于数据,你得自己抓

优化过的 ->
  
子程序名返回值类型公开备 注
蓝奏云_取文件夹_文件信息文本型 获取分享的链接中的所有文件夹并自动添加完整路径。
参数名类 型参考可空数组备 注
url文本型提供分享的链接
参_类型_数组文本型不填默认返回最新的文件类型;提供一个《文本型数组》接收返回的数据。
参_文件名_数组文本型不填默认返回最新的文件名;提供一个《文本型数组》接收返回的数据。
参_大小_数组文本型不填默认返回最新的文件大小;提供一个《文本型数组》接收返回的数据。
参_日期_数组文本型不填默认返回最新的文件上传日期;提供一个《文本型数组》接收返回的数据。
参_ID_数组文本型不填默认返回最新的文件ID;提供一个《文本型数组》接收返回的数据。
变量名类 型静态数组备 注
访问_源代码文本型取提交数据
访问_源代码_1文本型取文件名
post类_POST数据类 
post_协议头类_POST数据类 
json类_json 
局_正则正则表达式类 
fid文本型 
uid文本型 
t文本型 
k文本型 
提交协议头文本型 
数据_一级链接文本型 
数据_二级链接文本型 
局_计次整数型 
局_类型_数组文本型0
局_类型文本型 
局_ID_数组文本型0
局_ID文本型 
局_文件名_数组文本型0
局_文件名文本型 
局_大小_数组文本型0
局_大小文本型 
局_日期_数组文本型0
局_日期文本型 
post_协议头.添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0”, )
提交协议头 = post_协议头.获取协议头数据 ()
访问_源代码 = UTF8到文本 (穆丰_网页访问 (url, 0, , , , 提交协议头, , , , , , , , ))
fid = 穆丰_取出中间文本 (访问_源代码, “'fid':”, “,”, , )
uid = 穆丰_取出中间文本 (访问_源代码, “'uid':'”, “',”, , )
判断 (局_正则.创建 (“= '(.*?)';”, 访问_源代码, 假, 假, 真, ))
t = 局_正则.取子匹配文本 (1, 1, )
k = 局_正则.取子匹配文本 (2, 1, )



post.添加 (“lx”, “2”, )
post.添加 (“fid”, fid, )
post.添加 (“uid”, uid, )
post.添加 (“pg”, “1”, )
post.添加 (“rep”, “0”, )
post.添加 (“t”, t, )
post.添加 (“k”, k, )
post.添加 (“up”, “1”, )
post.添加 (“vip”, “1”, )
post.添加 (“webfoldersign”, “”, )
数据_一级链接 = 穆丰_取出中间文本 (url, “https://”, “/”, , )
数据_二级链接 = “https://” + 数据_一级链接 + 穆丰_取出中间文本 (访问_源代码, “url : '”, “',”, , )
访问_源代码_1 = UTF8到文本 (穆丰_网页访问 (数据_二级链接, 1, post.获取Post数据 (), , , 提交协议头, , , , , , , , ))
json.解析 (访问_源代码_1, , )
判断 (是否为空 (参_类型_数组))
局_类型 = “*.” + json.取通用属性 (“text[0].icon”, )
判断 (是否为空 (参_类型_数组))
计次循环首 (json.成员数 (“text”), 局_计次)
加入成员 (局_类型_数组, “https://” + 数据_一级链接 + “/” + json.取通用属性 (“text[”到文本 (局_计次 - 1)“].icon”, ))
计次循环尾 ()
参_类型_数组 = 局_类型_数组



判断 (是否为空 (参_ID_数组))
局_ID = “https://” + 数据_一级链接 + “/” + json.取通用属性 (“text[0].id”, )
判断 (是否为空 (参_ID_数组))
计次循环首 (json.成员数 (“text”), 局_计次)
加入成员 (局_ID_数组, “https://” + 数据_一级链接 + “/” + json.取通用属性 (“text[”到文本 (局_计次 - 1)“].id”, ))
计次循环尾 ()
参_ID_数组 = 局_ID_数组



判断 (是否为空 (参_文件名_数组))
局_文件名 = json.取通用属性 (“text[0]['name_all']”, )
判断 (是否为空 (参_文件名_数组))
计次循环首 (json.成员数 (“text”), 局_计次)
加入成员 (局_文件名_数组, json.取通用属性 (“text[”到文本 (局_计次 - 1)“]['name_all']”, ))
计次循环尾 ()
参_文件名_数组 = 局_文件名_数组



判断 (是否为空 (参_大小_数组))
局_大小 = json.取通用属性 (“text[0].size”, )
判断 (是否为空 (参_大小_数组))
计次循环首 (json.成员数 (“text”), 局_计次)
加入成员 (局_大小_数组, json.取通用属性 (“text[”到文本 (局_计次 - 1)“].size”, ))
计次循环尾 ()
参_大小_数组 = 局_大小_数组



判断 (是否为空 (参_日期_数组))
局_日期 = json.取通用属性 (“text[0].time”, )
判断 (是否为空 (参_日期_数组))
计次循环首 (json.成员数 (“text”), 局_计次)
加入成员 (局_日期_数组, json.取通用属性 (“text[”到文本 (局_计次 - 1)“].time”, ))
计次循环尾 ()
参_日期_数组 = 局_日期_数组



返回 (“文件类型:-> ” + 局_类型 + “ | 文件ID:-> ” + 局_ID + “ | 文件名称:-> ” + 局_文件名 + “ | 文件大小:-> ” + 局_大小 + “ | 上传日期: -> ” + 局_日期)


作者: ytbihay    时间: 2024-5-17 08:01
学习了,谢谢
作者: 张皓晨    时间: 2024-5-17 22:58
BruceJoysky1987 发表于 2024-5-10 03:59
优化过的 ->
[e=0].版本 2

只能抓第一页的,50个文件以上就只能抓到50个文件了
作者: BruceJoysky1987    时间: 2024-5-17 23:23
张皓晨 发表于 2024-5-17 22:58
只能抓第一页的,50个文件以上就只能抓到50个文件了

有能力的大佬,可以自行优化
作者: koflion    时间: 2024-5-30 01:17
谢谢分享
作者: 鱼鱼zjx    时间: 2024-6-19 00:57
感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4