现在换网盘了,不用onedrive了就给大家分享出来~可以批量提取出网盘中全部资源分享连接,并解析成直链~
犹豫懒得写登陆,所以采用的手动修改“请求头”的方式来进行http请求~
犹豫没有写多线程,资源量大的时候采集的速度会比较慢,大家可以自行添加多线程~
原理比较简单,替换成自己网盘的连接即可~
.版本 2
.支持库 spec
.程序集 窗口程序集_窗口1
.程序集变量 链接文本, 文本型
.子程序 _窗口1_创建完毕
.子程序 _按钮1_被单击
线程_启动 (&获取重要参数)
.子程序 获取重要参数
.局部变量 网页源码, 文本型
.局部变量 obj, 文本型
.局部变量 list, 文本型
.局部变量 t, 文本型, , , 提交参数
.局部变量 id, 文本型
.局部变量 计次, 整数型
.局部变量 json1, 类_json
.局部变量 json2, 类_json
.局部变量 nexturl, 文本型
.局部变量 nowurl, 文本型
.局部变量 f, 文本型
nexturl = 编辑框2.内容
链接文本 = “”
.判断循环首 (nexturl ≠ “”)
网页源码 = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (编辑框1.内容 + nexturl, 0, , , , 编辑框3.内容, )))
obj = 文本_取出中间文本 (网页源码, #obj, #引号)
list = 文本_取出中间文本 (网页源码, “aspx?List=”, #引号)
json1.解析 (文本_取出中间文本 (网页源码, “WPQ1ListData =”, “;var WPQ1SchemaData”))
nowurl = nexturl
nexturl = json1.取通用属性 (“NextHref”)
.计次循环首 (json1.成员数 (“Row”), 计次)
id = json1.取通用属性 (“Row[” + 到文本 (计次 - 1) + “].ID”)
t = 文本_替换 (#CreateAnonymousLinkWithExpiration, , , , “{OBJ}”, obj, “{LIST}”, list, “{ID}”, id)
f = 编码_utf8到gb2312 (到文本 (网页_访问_对象 (“https://x99m-my.sharepoint.com/personal/lspgo_txqq_me/_api/SP.Web.CreateAnonymousLinkWithExpiration”, 1, t, , , 编辑框3.内容)))
json2.解析 (f)
调试输出 (f, id)
.如果 (json2.取通用属性 (“d.CreateAnonymousLinkWithExpiration”) ≠ “”)
链接文本 = 链接文本 + #换行符 + json2.取通用属性 (“d.CreateAnonymousLinkWithExpiration”) + “?download=1”
.否则
信息框 (“请更换协议头”, 0, , )
nexturl = nowurl
跳出循环 ()
.如果结束
.计次循环尾 ()
json1.清除 ()
json2.清除 ()
.判断循环尾 ()
置剪辑板文本 (文本_删除空行 (链接文本))
调试输出 (“ok”)
.子程序 _按钮2_被单击
.局部变量 数据组, 文本型, , "0"
.局部变量 计次, 整数型
.局部变量 数据, 文本型
数据组 = 分割文本 (到文本 (读入文件 (编辑框4.内容)), #换行符, )
数组_去重复 (数据组)
.计次循环首 (取数组成员数 (数据组), 计次)
数据 = 数据 + #换行符 + 数据组 [计次]
.计次循环尾 ()
置剪辑板文本 (数据)
调试输出 (“ok”)
易语言-onedrive批量提取资
onedrive分享链接如何批量下载