GDindex 批量下载 进阶策略

前言

很多东西,都是大佬懒得弄,小朋友需求又很大。
突然想到了多年前的YY广播器,以前总是幻想有一个C++写的广播器就好了。 很多东西都下沉到易语言
我弄的东西很烂,但是我花费了大量的时间,查阅了很多信息才得到如下的方法。
理论上来说,一个浏览器扩展/脚本就可以搞定的事情。 可我偏偏喜欢画蛇添足。
长期受到开源氛围的熏陶,我还是决定把我的小脚本分享出来,供大家参观

本文仅适用于搭建了GDindex的同学, GOindex好像没有rootid=的概念

按照惯例,只支持windows, linux大佬请根据思路自己改写。

思路

1.提取https://drive.google.com/drive/folders/**** 链接
2.用批处理得到链接*****部分
3.对gclone生成的结果进行URL编码并喂到idm
4.清理临时的URL编码脚本UrlEncode.vbs

脚本

脚本内有三处需要手动修改,因为每个人的账号不同。 但是没必要每次都输入,算是写死了。

1.gclone项目的名称,打开gclone config file 找到路径,打开第一行[]
2.IDM路径,这个没必要讲吧?如果不知,建议关闭我的博客。
3.gdindex域名, 需要精确到https://......./

@echo off
chcp 65001
cls
set /p "url=url:"
for /f "tokens=1,2,3,5 delims=/?=&" %%i in ("%url%") do (set "a=%%l")
for /f "tokens=1 delims=:" %%a in ('findstr /n "^::CreatUrlEncode::$" "%~f0"') do more +%%a "%~f0">UrlEncode.vbs
for /f "delims=" %%a in ('gclone lsf <这里填入你自己的gclone项目名称>:{%a%}') do (
for /f "delims=" %%i in ('cscript  /nologo UrlEncode.vbs "%%~a"') do cmd /c <这里补全IDM的路径>IDMan.exe -d "<这里填入你架设的gdindex域名>%%i?rootId=%a%" -n -a -p <这里填入你需要保存文件的位置> )
del /f /q UrlEncode.vbs
exit

::CreatUrlEncode::
'UrlEncode By Demon
Function UrlEncode(str)
Dim i,c,s,length
length = Len(str)
For i = 1 To length
s = Mid(str,i,1)
c = "&H" & Hex(AscW(Mid(str,i,1)))
If ( c >= AscW("A") And c <= AscW("Z") ) Or _
( c >= AscW("a") And c <= AscW("z") ) Or _
( c >= AscW("0") And c <= AscW("9") ) Or _
( c = AscW("-") Or c = AscW("_") Or c = AscW(".") ) Or _
( c = Asc(":") Or c = Asc("/") ) Then
UrlEncode = UrlEncode & s
ElseIf c = AscW(" ") Then
UrlEncode = UrlEncode & "+"
Else
If c >= &H0001 And c <= &H007F Then
UrlEncode = UrlEncode & s
ElseIf c > &H07FF Then
UrlEncode = UrlEncode & "%" & Hex(&HE0 Or (c\(2^12) And &H0F))
UrlEncode = UrlEncode & "%" & Hex(&H80 Or (c\(2^6) And &H3F))
UrlEncode = UrlEncode & "%" & Hex(&H80 Or (c\(2^0) And &H3F))
Else
UrlEncode = UrlEncode & "%" & Hex(&HC0 Or (c\(2^6) And &H1F))
UrlEncode = UrlEncode & "%" & Hex(&H80 Or (c\(2^0) And &H3F))
End If
End If
Next
End Function
WScript.Echo UrlEncode(WScript.Arguments(0))

最后

如果你更优雅的方法,或者熟悉批处理能改进此脚本欢迎联系我


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!