2121def ph () :
2222 h = '''命令行帮助:
2323 start.py -h/-?/--help 显示命令行帮助信息
24- start.py [-i <输入>] [-d <下载方式>] [-p <p数>] [-m <boolean>] [--ac <boolean>] [--dm <boolean>] [--ad <boolean>] [-r <boolean>] [-y/-n] [--yf/--nf] [--mc avc/hev] [--ar/--nar] [--ax <number>] [--as <number>] [--ak <number>] [--ab/--nab] [--fa none/prealloc/trunc/falloc] [--sv <boolean>] [--ma <boolean>] [--ms <speed>] [--da <boolean>] [--httpproxy <URI>] [--httpsproxy <URI>] [--jt <number>|a|b] [--jts <date>] [-F] [-v <id>] [-a <id>] [-o <dir>] [--af/--naf] [--afp <序号>] [-s] [--slt/--nslt] [--te/--nte] [--bd/--nbd]
24+ start.py [-i <输入>] [-d <下载方式>] [-p <p数>] [-m <boolean>/--ym/--nm ] [--ac <boolean>/--yac/--nac ] [--dm <boolean>/--ydm/--ndm ] [--ad <boolean>/--yad/--nad ] [-r <boolean>/--yr/--nr ] [-y/-n] [--yf/--nf] [--mc avc/hev] [--ar/--nar] [--ax <number>] [--as <number>] [--ak <number>] [--ab/--nab] [--fa none/prealloc/trunc/falloc] [--sv <boolean>/--ysv/--nsv ] [--ma <boolean>/--yma/--nma ] [--ms <speed>] [--da <boolean>/--yda/--nda ] [--httpproxy <URI>] [--httpsproxy <URI>] [--jt <number>|a|b] [--jts <date>] [-F] [-v <id>] [-a <id>] [-o <dir>] [--af/--naf] [--afp <序号>] [-s] [--slt/--nslt] [--te/--nte] [--bd/--nbd] [--cad/--ncad] [--lrh/--nlrh] [--ahttpproxy <PROXY>] [--ahttpsproxy <PROXY> ]
2525 start.py show c/w 显示许可证
2626 -i <输入> av/bv/ep/ss号或者视频链接
2727 -d <下载方式> 下载方式:1.当前弹幕2.全弹幕3.视频4.当前弹幕+视频5.全弹幕+视频6.仅字幕下载(番剧除外)
28+ 直播回放下载方式:1.视频2.弹幕3.视频+弹幕
2829 -p <p数> 要下载的P数(两个p数可用,连接),使用a全选,输入为ep号时可用b选择该ep号,下载上次观看的视频可输入l(仅限番剧)
2930 -m <boolean> 是否默认下载最高画质
31+ --ym 相当于-m true
32+ --nm 相当于-m false
3033 --ac <boolean> 是否开启继续下载功能
34+ --yac 相当于--ac true
35+ --nac 相当于--ac false
3136 --dm <boolean> 是否启用弹幕过滤
37+ --ydm 相当于--dm true
38+ --ndm 相当于--dm false
3239 --ad <boolean> 是否在合并完成后删除文件
40+ --yad 相当于--ad true
41+ --nad 相当于--ad false
3342 -r <boolean> 是否在下载失败后重新下载
43+ --yr 相当于-r true
44+ --nr 相当于-r false
3445 -y 覆盖所有重复文件
3546 -n 不覆盖重复文件
3647 --yf 使用ffmpeg
@@ -45,9 +56,15 @@ def ph() :
4556 --nab 在使用aria2c下载时不使用备用网址
4657 --fa none/prealloc/trunc/falloc 在使用arai2c下载时预分配方式即--file-allocation的参数
4758 --sv <boolean> 文件名中是否输出视频画质信息
59+ --ysv 相当于--sv true
60+ --nsv 相当于--sv false
4861 --ma <boolean> 是否强制增加视频元数据(这会导致原本不需要转码的视频被转码,转码不会影响画质)
62+ --yma 相当于--ma true
63+ --nma 相当于--ma false
4964 --ms <speed> 在使用aria2c下载时最大总体速度,即--max-overall-download-limit的参数,默认单位为B,可以使用K和M为单位
5065 --da <boolean> 收藏夹是否自动下载每一个视频的所有分P
66+ --yda 相当于--da true
67+ --nda 相当于--da false
5168 --httpproxy <URI> 使用HTTP代理
5269 --httpsproxy <URI> 使用HTTPS代理
5370 --jt <number>|a|b 下载全弹幕时两次抓取之间的天数,范围为1-365,a会启用自动模式(推荐自动模式),番剧模式下b修改抓取起始日期
@@ -66,13 +83,19 @@ def ph() :
6683 --nte requests不使用环境变量中的代理设置
6784 --bd 合并完成后删除文件时保留字幕文件
6885 --nbd 合并完成后删除文件时删除字幕文件
86+ --cad 使用aria2c时关闭异步DNS(关闭后在Windows系统下可以解决Timeout while contacting DNS servers问题)
87+ --ncad 使用aria2c时启用异步DNS
88+ --lrh 直播回放简介写入元数据时进行去HTML化
89+ --nlrh 直播回放简介写入元数据时不进行去HTML化
90+ --ahttpproxy <PROXY> 指定aria2c使用的http代理,即aria2c的--http-proxy参数
91+ --ahttpsproxy <PROXY> 指定aria2c使用的https代理,即aria2c的--https-proxy参数
6992 注1:如出现相同的选项,只有第一个会生效
7093 注2:命令行参数的优先级高于settings.json里的设置
7194 注3:ffmpeg和aria2c需要自行下载并确保放入当前文件夹或者放入环境变量PATH指定的目录中
7295 注4:当下载收藏夹/频道,除了-i和-p参数外,其他参数将被沿用至收藏夹/频道视频的下载设置,-i和-p参数只对收藏夹/频道起作用'''
7396 print (h )
7497def gopt (args ,d :bool = False ) :
75- re = getopt (args ,'h?i:d:p:m:r:ynFv:a:o:s' ,['help' ,'ac=' ,'dm=' ,'ad=' ,'yf' ,'nf' ,'mc=' ,'ar' ,'nar' ,'ax=' ,'as=' ,'ak=' ,'ab' ,'nab' ,'fa=' ,'sv=' ,'ma=' ,'ms=' ,'da=' ,'httpproxy=' ,'httpsproxy=' ,'jt=' ,'jts=' ,'af' ,'naf' ,'afp=' ,'slt' ,'nslt' ,'te' ,'nte' ,'bd' ,'nbd' ])
98+ re = getopt (args ,'h?i:d:p:m:r:ynFv:a:o:s' ,['help' ,'ac=' ,'dm=' ,'ad=' ,'yf' ,'nf' ,'mc=' ,'ar' ,'nar' ,'ax=' ,'as=' ,'ak=' ,'ab' ,'nab' ,'fa=' ,'sv=' ,'ma=' ,'ms=' ,'da=' ,'httpproxy=' ,'httpsproxy=' ,'jt=' ,'jts=' ,'af' ,'naf' ,'afp=' ,'slt' ,'nslt' ,'te' ,'nte' ,'bd' ,'nbd' , 'cad' , 'ncad' , 'lrh' , 'nlrh' , 'ym' , 'nm' , 'yac' , 'nac' , 'ydm' , 'ndm' , 'yad' , 'nad' , 'yr' , 'nr' , 'ysv' , 'nsv' , 'yma' , 'nma' , 'yda' , 'nda' , 'ahttpproxy=' , 'ahttpsproxy=' ])
7699 if d :
77100 print (re )
78101 rr = re [0 ]
@@ -92,26 +115,46 @@ def gopt(args,d:bool=False) :
92115 r ['m' ]= True
93116 elif i [1 ].lower ()== 'false' :
94117 r ['m' ]= False
118+ if i [0 ]== '--ym' and not 'm' in r :
119+ r ['m' ]= True
120+ if i [0 ]== '--nm' and not 'm' in r :
121+ r ['m' ]= False
95122 if i [0 ]== '--ac' and not 'ac' in r :
96123 if i [1 ].lower ()== 'true' :
97124 r ['ac' ]= True
98125 elif i [1 ].lower ()== 'false' :
99126 r ['ac' ]= False
127+ if i [0 ]== '--yac' and not 'ac' in r :
128+ r ['ac' ]= True
129+ if i [0 ]== '--nac' and not 'ac' in r :
130+ r ['ac' ]= False
100131 if i [0 ]== '--dm' and not 'dm' in r :
101132 if i [1 ].lower ()== 'true' :
102133 r ['dm' ]= True
103134 elif i [1 ].lower ()== 'false' :
104135 r ['dm' ]= False
136+ if i [0 ]== '--ydm' and not 'dm' in r :
137+ r ['dm' ]= True
138+ if i [0 ]== '--ndm' and not 'dm' in r :
139+ r ['dm' ]= False
105140 if i [0 ]== '--ad' and not 'ad' in r :
106141 if i [1 ].lower ()== 'true' :
107142 r ['ad' ]= True
108143 elif i [1 ].lower ()== 'false' :
109144 r ['ad' ]= False
145+ if i [0 ]== '--yad' and not 'ad' in r :
146+ r ['ad' ]= True
147+ if i [0 ]== '--nad' and not 'ad' in r :
148+ r ['ad' ]= False
110149 if i [0 ]== '-r' and not 'r' in r :
111150 if i [1 ].lower ()== 'true' :
112151 r ['r' ]= True
113152 elif i [1 ].lower ()== 'false' :
114153 r ['r' ]= False
154+ if i [0 ]== '--yr' and not 'r' in r :
155+ r ['r' ]= True
156+ if i [0 ]== '--nr' and not 'r' in r :
157+ r ['r' ]= False
115158 if i [0 ]== '-y' and not 'y' in r :
116159 r ['y' ]= True
117160 if i [0 ]== '-n' and not 'y' in r :
@@ -156,11 +199,19 @@ def gopt(args,d:bool=False) :
156199 r ['sv' ]= True
157200 elif i [1 ].lower ()== 'false' :
158201 r ['sv' ]= False
202+ if i [0 ]== '--ysv' and not 'sv' in r :
203+ r ['sv' ]= True
204+ if i [0 ]== '--nsv' and not 'sv' in r :
205+ r ['sv' ]= False
159206 if i [0 ]== '--ma' and not 'ma' in r :
160207 if i [1 ].lower ()== 'true' :
161208 r ['ma' ]= True
162209 elif i [1 ].lower ()== 'false' :
163210 r ['ma' ]= False
211+ if i [0 ]== '--yma' and not 'ma' in r :
212+ r ['ma' ]= True
213+ if i [0 ]== '--nma' and not 'ma' in r :
214+ r ['ma' ]= False
164215 if i [0 ]== '--ms' and not 'ms' in r :
165216 t = search ("^[0-9]+[MK]?$" ,i [1 ])
166217 if t != None :
@@ -170,6 +221,10 @@ def gopt(args,d:bool=False) :
170221 r ['da' ]= True
171222 elif i [1 ].lower ()== 'false' :
172223 r ['da' ]= False
224+ if i [0 ]== '--yda' and not 'da' in r :
225+ r ['da' ]= True
226+ if i [0 ]== '--nda' and not 'da' in r :
227+ r ['da' ]= False
173228 if i [0 ]== '--httpproxy' and not 'httpproxy' in r :
174229 r ['httpproxy' ]= i [1 ]
175230 if i [0 ]== '--httpsproxy' and not 'httpsproxy' in r :
@@ -212,6 +267,18 @@ def gopt(args,d:bool=False) :
212267 r ['bd' ]= True
213268 if i [0 ]== '--nbd' and not 'bd' in r :
214269 r ['bd' ]= False
270+ if i [0 ]== '--cad' and not 'cad' in r :
271+ r ['cad' ]= True
272+ if i [0 ]== '--ncad' and not 'cad' in r :
273+ r ['cad' ]= False
274+ if i [0 ]== '--lrh' and not 'lrh' in r :
275+ r ['lrh' ]= True
276+ if i [0 ]== '--nlrh' and not 'lrh' in r :
277+ r ['lrh' ]= False
278+ if i [0 ]== '--ahttpproxy' and not 'ahttpproxy' in r :
279+ r ['ahttpproxy' ]= i [1 ]
280+ if i [0 ]== '--ahttpsproxy' and not 'ahttpsproxy' in r :
281+ r ['ahttpsproxy' ]= i [1 ]
215282 for i in re [1 ] :
216283 if i .lower ()== "show" :
217284 prc ()
0 commit comments