-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexdownloader.e.txt
1363 lines (1202 loc) · 69.1 KB
/
exdownloader.e.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.版本 2
.支持库 HtmlView
.支持库 spec
.支持库 eImgConverter
.支持库 eAPI
.支持库 commobj
.支持库 EThread
.程序集 窗口程序集_启动窗口
.程序集变量 普通填表, 普通填表
.程序集变量 序列号, 文本型
.程序集变量 图片对象, 对象
.程序集变量 地址数组, 文本型, , "0"
.程序集变量 图片ID数组, 文本型, , "0"
.程序集变量 图片高度数组, 文本型, , "0"
.程序集变量 处理次数, 整数型
.程序集变量 已次数, 整数型
.程序集变量 上个地址, 文本型
.程序集变量 图片地址, 文本型
.程序集变量 下载地址列表, 文本型, , "0"
.程序集变量 第几张图, 整数型
.程序集变量 IP_缓存地址, 文本型, , "0"
.程序集变量 IP_缓存位置, 文本型, , "0"
.程序集变量 IP_超时次数, 整数型
.程序集变量 当前列表位置, 整数型
.程序集变量 当前网站, 整数型
.程序集变量 是否跳过, 逻辑型
.程序集变量 剩余时间, 整数型
.程序集变量 平均时间a, 文本型
.程序集变量 验证_上次文件名, 文本型
.子程序 开始下载
.局部变量 标题数组, 文本型, , "0"
.局部变量 图片网页地址, 文本型
.局部变量 图片数据, 字节集
.局部变量 图片文件名, 文本型
.局部变量 链接地址, 文本型
.局部变量 文件夹名, 文本型
.局部变量 同名次数, 整数型
.局部变量 图片文件名_纯文件名, 文本型
.局部变量 图片文件名_纯扩展名, 文本型
.局部变量 重试次数, 整数型
.局部变量 剪辑板内容, 文本型
.局部变量 添加位置, 整数型
.局部变量 初始化失败次数, 整数型
.局部变量 链接枚举失败次数, 整数型
.局部变量 是否加了序号, 逻辑型
.局部变量 最大重复, 整数型
.局部变量 全部数量, 整数型
.局部变量 当前数量, 整数型
.局部变量 是否已刷新地址, 整数型
.局部变量 是否GIF加载失败, 整数型
.局部变量 上次页数, 文本型
.局部变量 这次页数, 文本型
.局部变量 加载完成判断条件, 逻辑型
.局部变量 最近时间, 整数型, , "0", 用于判断平均时间
.局部变量 平均时间, 整数型, , , 用于判断剩余时间
.局部变量 全部时间, 整数型, , , 用于计算平均时间
.局部变量 当前时间, 长整数型, , , 用于计算当前单次耗时
.局部变量 临时已次数, 整数型
.局部变量 当前放大等级, 小数型
是否跳过 = 假 ' 防止跳过
序列号 = 文本_取出中间文本 (下载地址列表 [当前列表位置], “/g/”, “/”)
.如果真 (序列号 = “”)
序列号 = 到文本 (到整数 (文本_取出中间文本 (文本_替换 (下载地址列表 [当前列表位置], 4, , , “/”, “”), “/”, “-”)))
.如果真结束
当前网站 = 是否支持 (下载地址列表 [当前列表位置])
.如果真 (当前网站 = 2 或 当前网站 = 12)
报错 (“提示:建议优先使用ex,e-只保证能用,有可能有小BUG”)
.如果真结束
超文本浏览框1.地址 = 文本_替换 (下载地址列表 [当前列表位置], , , , 文本_取出中间文本 (下载地址列表 [当前列表位置] + “\”, “?”, “\”), “”) ' 去掉页码
' 返回 () ' 调试窗口大小时用
.如果真 (文件是否存在 (设置_目录 + “raw.bmp”) = 真 且 当前列表位置 = 1)
.如果 (取进程运行数量 (取执行文件名 ()) = 1)
报错 (“警告:检测到上次未正常关闭,若多次出现程序出错,请尝试修改设置不使用线程方式启动”)
.否则
报错 (“错误:多开程序可能会导致列表保存读取或保存图片或网页下载服务不能正常运行”)
.如果结束
.如果真结束
处理次数 = 0
.如果真 (序列号 = “”)
报错 (“错误:画廊号获取失败,很可能无法继续下载”)
.如果真结束
.如果真 (超文本浏览框1.取窗口句柄 () ≤ 1)
报错 (“错误:窗口句柄获取失败,很可能无法继续下载”)
.如果真结束
.如果真 (当前网站 < 10)
.循环判断首 ()
清除数组 (地址数组)
新延时 (设置_循环处理频率)
.如果 (普通填表.初始化 (超文本浏览框1.取窗口句柄 ()))
初始化失败次数 = 0
.否则
.如果真 (超文本浏览框1.是否就绪 ())
初始化失败次数 = 初始化失败次数 + 1
.如果真 (初始化失败次数 ≥ 20 且 初始化失败次数 < 30)
报错 (“错误:初始化连续失败” + 到文本 (初始化失败次数) + “次”)
.如果真结束
.如果真 (初始化失败次数 = 30)
报错 (“错误:初始化连续多次失败,若软件内已打开网页不能自动下载,请尝试修改设置不使用线程方式启动”)
.如果真结束
.如果真结束
.如果结束
.如果 (普通填表.链接_枚举 (标题数组, 地址数组) ≠ 0)
链接枚举失败次数 = 0
.否则
.如果真 (超文本浏览框1.是否就绪 ())
链接枚举失败次数 = 链接枚举失败次数 + 1
.如果真 (链接枚举失败次数 ≥ 20 且 链接枚举失败次数 < 29)
报错 (“错误:链接枚举连续失败” + 到文本 (初始化失败次数) + “次”)
.如果真结束
.如果真结束
.如果结束
.计次循环首 (取数组成员数 (地址数组), 已次数)
.如果真 (快速取出现次数 (地址数组 [已次数] + “?”, “/” + 序列号 + “-1?”) ≠ 0 或 快速取出现次数 (地址数组 [已次数] + “/”, “/” + 序列号 + “-1/”) ≠ 0)
调试输出 (标题数组 [已次数], 地址数组 [已次数])
图片网页地址 = 地址数组 [已次数]
.如果真结束
.计次循环尾 ()
标签1.标题 = “将在” + 补0 (到文本 (四舍五入 (((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率 - 处理次数) ÷ (1000 ÷ 设置_循环处理频率), 1))) + “s后刷新”
处理次数 = 处理次数 + 1
_启动窗口.标题 = “Ex图片下载器v” + 到文本 (当前版本 ÷ 10) + “ @WGzeyu 画廊号:” + 序列号 + “ 获取到链接数量:” + 到文本 (取数组成员数 (地址数组)) + “ 处理次数:” + 到文本 (处理次数)
.如果真 (处理次数 > 到整数 ((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率))
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
普通填表.网页_刷新 ()
报错 (“警告:画廊页面打开失败,已刷新”)
处理次数 = 0
.如果真结束
.循环判断尾 (图片网页地址 = “”)
.如果真结束
调试输出 (“成功”, 图片网页地址)
.如果 (当前网站 < 10)
文件夹名 = 源码取标题 (普通填表.网页_取源码 (), 设置_是否英文, 设置_目录)
全部数量 = 源码取数量 (普通填表.网页_取源码 ())
.否则
处理次数 = 0
.循环判断首 ()
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
文件夹名 = 源码取标题 (普通填表.网页_取源码 (), 设置_是否英文, 设置_目录, 真)
全部数量 = 源码取数量 (普通填表.网页_取源码 ())
当前数量 = 源码取当前数量 (普通填表.网页_取源码 ())
标签1.标题 = “将在” + 补0 (到文本 (四舍五入 (((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率 - 处理次数) ÷ (1000 ÷ 设置_循环处理频率), 1))) + “s后刷新”
处理次数 = 处理次数 + 1
调试输出 (取文本长度 (普通填表.网页_取源码 ()), “源码”, 文件夹名, 全部数量)
.如果 (验证_上次文件名 = “”)
.如果真 (文件夹名 ≠ “”)
跳出循环 ()
.如果真结束
.否则
.如果真 (文件夹名 ≠ “” 且 文件夹名 ≠ 验证_上次文件名)
报错 (“提示:若出现创建文件夹名称错误,请修改账号设置为默认显示日文标题”)
跳出循环 ()
.如果真结束
.如果真 (处理次数 > 到整数 ((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率))
报错 (“警告:不知道是同名了还是没加载完,反正标题就是一样,既然之前网页没怎么出错,这回应该也能正常加载吧,就当做是标题一样了开始下载”)
跳出循环 () ' 也许会导致图片添加两个同名任务时连续后面任务不能判断超时?不过一般也不会超时,应该没问题
.如果真结束
.如果结束
.如果真 (处理次数 > 到整数 ((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率))
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
普通填表.网页_刷新 ()
调试输出 (处理次数, 到整数 ((设置_网页加载超时 + 2000) ÷ 设置_循环处理频率))
报错 (“警告:图片页面打开失败,已刷新”)
处理次数 = 0
.如果真结束
新延时 (设置_循环处理频率)
.循环判断尾 (真)
.如果结束
验证_上次文件名 = 文件夹名
调试输出 (普通填表.网页_取源码 ())
' 编辑框1.内容 = 普通填表.网页_取源码 () ' 调试用
.如果真 (全部数量 = 0)
报错 (“警告:获取总图片数量失败,无法显示进度”)
.如果真结束
调试输出 (文件夹名)
创建目录 (设置_目录 + 文件夹名)
.如果真 (目录_是否存在 (设置_目录 + 文件夹名) = 假)
文件夹名 = 源码取标题 (普通填表.网页_取源码 (), 真, 设置_目录)
创建目录 (设置_目录 + 文件夹名)
.如果真结束
.如果真 (设置_是否保存网址)
写到文件 (设置_目录 + 文件夹名 + “\” + “url.txt”, 到字节集 (下载地址列表 [当前列表位置]))
.如果真结束
_启动窗口.标题 = “Ex图片下载器v” + 到文本 (当前版本 ÷ 10) + “ @WGzeyu 别点本软件内的网页,可在右下角控制刷新/查看图片服位置 https://github.com/wgzeyu/ExDownloader”
.如果真 (当前网站 < 10)
超文本浏览框1.跳转 (图片网页地址, , )
链接地址 = 图片网页地址
.如果真结束
.如果真 (设置_同名设置 ≥ 0 且 设置_同名设置 ≤ 2)
添加位置 = 设置_同名设置
调试输出 (“添加位置”, 添加位置)
.如果真结束
重试次数 = 0
.循环判断首 ()
当前时间 = 到长整数 (时间_取现行时间戳 ())
图片地址 = “”
获取下载地址 ()
.如果真 (全部数量 ≠ 0 且 当前数量 ≥ 3) ' 放开头防止影响到就绪判断状态,操作界面组件部分应该比计算的耗时要长
剩余时间 = (全部数量 - 当前数量) × 平均时间
平均时间a = 到文本 (四舍五入 (平均时间 ÷ 1000, 1)) + “s”
.如果真结束
.如果真 (处理次数 ≥ 到整数 (设置_网页加载超时 ÷ 设置_循环处理频率) 且 图片地址 = “”)
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
普通填表.网页_刷新 ()
报错 (“警告:网页加载失败,已刷新”)
上个地址 = “”
到循环尾 ()
返回 ()
.如果真结束
图片文件名 = 文本_取出中间文本 (文本_替换 (图片地址, 快速取出现次数 (图片地址, “/”) - 1, , , “/”, “”) + “\”, “/”, “\”)
图片文件名_纯文件名 = 文本_取出中间文本 (“/” + 图片文件名, “/”, “.”)
图片文件名_纯扩展名 = “.” + 文本_取出中间文本 (图片文件名 + “/”, “.”, “/”)
同名次数 = 0
调试输出 (“获取图片文件名结束,判断重名开始”, 图片文件名) ' 之前偶发会卡在这个调试之后,文件已存在这个调试之前,怀疑是线程执行信息框没有添加父窗口造成的,添加后测试三次暂未出现,应该解决了吧
.如果真 (文件_是否存在 (设置_目录 + 文件夹名 + “\” + 图片文件名) = 真 或 是否加了序号 = 真)
这次页数 = 文本_取出中间文本 (超文本浏览框1.地址 + “?”, 序列号 + “-”, “?”)
.如果 (这次页数 ≠ 上次页数)
.如果真 (添加位置 = 0) ' 1=前面,2=后面; 5、#是钮 6、#否钮
进度条_状态 (2)
.如果 (信息框 (“发现同名文件,请问是否将序号添加在文件名之前?” + #换行符 + “是 = 序号_文件名” + #换行符 + “否 = 文件名_序号”, 4, “发现同名文件”, _启动窗口) = 5)
添加位置 = 1
.如果真 (信息框 (“是否需要给之前已下载文件添加序号并固定序号?” + #换行符 + “固定序号表示例如在后续又出现没重名文件,也以上个序号命名”, 4, “发现同名文件”, _启动窗口) = 5)
文件名前加序号0 (设置_目录 + 文件夹名 + “\”)
是否加了序号 = 真
.如果真结束
.否则
添加位置 = 2
.如果结束
进度条_状态 (1)
.如果真结束
调试输出 (“文件名已存在,重命名”, 图片文件名, 图片文件名_纯文件名, 图片文件名_纯扩展名)
.计次循环首 (100, 同名次数)
.如果真 (同名次数 > 最大重复)
最大重复 = 同名次数
.如果真结束
.判断开始 (添加位置 = 1)
.如果 (是否加了序号)
图片文件名 = 到文本 (最大重复) + “_” + 图片文件名_纯文件名 + 图片文件名_纯扩展名
.否则
图片文件名 = 到文本 (同名次数) + “_” + 图片文件名_纯文件名 + 图片文件名_纯扩展名
.如果结束
.判断 (添加位置 = 2)
图片文件名 = 图片文件名_纯文件名 + “_” + 到文本 (同名次数) + 图片文件名_纯扩展名
.默认
' 用判断方便以后添加其他重名后文件名样式
.判断结束
.如果真 (文件_是否存在 (设置_目录 + 文件夹名 + “\” + 图片文件名) = 假)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.否则
报错 (“警告:触发重名检测后发现与上次图片地址相同”)
.如果结束
.如果真结束
调试输出 (“判断重名结束”, 图片文件名, “获取到文件名”, 文件_是否存在 (设置_目录 + 文件夹名 + “\” + 图片文件名), 设置_目录 + 文件夹名 + “\” + 图片文件名)
图片数据 = 到字节集 (“”)
处理次数 = 0
是否已刷新地址 = 0
是否GIF加载失败 = 0
.循环判断首 ()
新延时 (设置_循环处理频率)
' 调试输出 (是否已就绪, 图片是否载入完成 (普通填表, 图片地址)) ' 测试可用,但突然想到,要是触发了自动换地址,那这个就不能判断是否载入完成了,还是先用获取就绪状态吧
.如果 (当前网站 = 1 或 当前网站 = 11) ' e-发现图片没加载完成也会触发已就绪,怀疑是广告框架加载完成触发的,反正我也不上这个懒得测了,临时加个这个应该就能用了,只是判断地址不符也许用不了
加载完成判断条件 = 真 ' ex直接跳过这个判断只用是否已就绪,更靠谱,能识别图片加载失败自动更换地址的情况
.否则
加载完成判断条件 = 图片是否载入完成 (普通填表, 图片地址)
.如果结束
.如果真 (超文本浏览框1.是否就绪 () 且 加载完成判断条件 = 真) ' 才知道自带就绪判断
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
剪辑板内容 = 取剪辑板文本 ()
图片数据 = 普通填表.网页_验证码同步 (图片地址, ) ' 找了半天貌似只能通过execCommand('copy')复制位图
.如果真 (剪辑板内容 ≠ “”)
置剪辑板文本 (剪辑板内容) ' 因为上面通过execCommand('copy')获取位图,清空了剪辑版,所以这里备份再置剪辑版内容
.如果真结束
.如果真 (取字节集长度 (图片数据) = 0 且 是否已刷新地址 > 10)
处理次数 = 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率)
报错 (“警告:多次更新地址后依然获取不到图片,算作加载失败”)
.如果真结束
.如果真 (取字节集长度 (图片数据) = 0 且 是否已刷新地址 ≤ 10)
' 普通填表.图片_取属性 (第几张图, 图片地址) ' 无法判断第一张图,故废弃
获取下载地址 ()
.如果 (到小写 (取文本右边 (图片地址, 4)) = “.gif”)
报错 (“警告:GIF显示失败,获取不到图片”)
调试输出 (图片地址)
是否GIF加载失败 = 是否GIF加载失败 + 1
.如果真 (是否GIF加载失败 > 5)
跳出循环 ()
.如果真结束
.否则
报错 (“警告:地址与图片不符,已更新地址”)
是否已刷新地址 = 是否已刷新地址 + 1
.如果结束
.如果真结束
.如果真结束
标签1.标题 = “将在” + 补0 (到文本 (四舍五入 ((设置_图片加载超时 ÷ 设置_循环处理频率 - 处理次数) ÷ (1000 ÷ 设置_循环处理频率), 1))) + “s后重载”
按钮1.标题 = “立即重载”
处理次数 = 处理次数 + 1
.如果真 (重试次数 ≥ 2 且 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率) ≥ 处理次数 且 取字节集长度 (图片数据) = 0)
处理次数 = -到整数 (设置_图片加载超时 ÷ 设置_循环处理频率) ' 由于已进行了一次超时的时间,到0就是到第二次超时才处理,再减超时时间次数就是等待图片超时时间×3
调试输出 (处理次数)
重试次数 = 0
.如果真结束
.循环判断尾 (取字节集长度 (图片数据) = 0 且 处理次数 < 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率))
.如果真 (处理次数 ≥ 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率) 且 取字节集长度 (图片数据) = 0 且 是否GIF加载失败 ≤ 5)
.如果 (重试次数 ≥ 5)
报错 (“错误:图片重新加载5次后依然获取失败”)
.否则
普通填表.链接_点击 (“Click here if the image fails loading”)
报错 (“警告:图片加载失败,已换链接重新加载”)
重试次数 = 重试次数 + 1
到循环尾 ()
返回 ()
.如果结束
.如果真结束
重试次数 = 0
调试输出 (取字节集长度 (图片数据))
.如果 (是否GIF加载失败 ≤ 5)
写到文件 (设置_目录 + “raw.bmp”, 图片数据)
.如果 (设置_waifu2x = 真)
.如果 (设置_w2阈值 = 0)
当前放大等级 = 设置_w2放大
.否则
.如果 (图片_取宽度 (图片数据) < 设置_w2阈值)
当前放大等级 = 设置_w2放大
.否则
当前放大等级 = 1
.如果结束
.如果结束
.如果真 (waifu2x (设置_目录 + “raw.bmp”, 设置_目录 + 文件夹名 + “\” + 文本_替换 (图片文件名, , , 假, “.jpg”, “.png”), 设置_w2处理器, 设置_w2降噪, 当前放大等级, 设置_w2模型, 设置_w2路径, 设置_w2等待) = 假)
报错 (“错误:waifu2x处理失败”)
.如果真结束
.否则
.如果 (设置_压缩质量 = 101)
转换到PNG (设置_目录 + “raw.bmp”, 设置_目录 + 文件夹名 + “\” + 文本_替换 (图片文件名, , , 假, “.jpg”, “.png”), 24)
.否则
转换到JPG (设置_目录 + “raw.bmp”, 设置_目录 + 文件夹名 + “\” + 图片文件名, 假, 设置_压缩质量, 真, 0)
.如果结束
.如果结束
.否则
报错 (“警告:获取不到GIF图片,本次不做保存”)
.如果结束
上次页数 = 文本_取出中间文本 (超文本浏览框1.地址 + “?”, 序列号 + “-”, “?”)
普通填表.初始化 (超文本浏览框1.取窗口句柄 ()) ' 怀疑可能是上方在进行某些操作后需要重新初始化,不然读取不到导致保存图片后没成功跳转到下页就重新获取内容了(猜测)
普通填表.链接_取属性 (普通填表.链接_取索引 (“next”), , 链接地址)
.如果真 (链接地址 = “”)
报错 (“警告:获取下一页链接失败”)
.如果真结束
处理次数 = 0
当前数量 = 当前数量 + 1
.如果真 (全部数量 ≠ 0)
进度条_进度 (当前数量, 全部数量)
.如果真结束
调试输出 (“循环”, 链接地址, 超文本浏览框1.地址)
.如果真 (文本_取出中间文本 (链接地址 + “?”, 序列号 + “-”, “?”) = 文本_取出中间文本 (超文本浏览框1.地址 + “?”, 序列号 + “-”, “?”))
调试输出 (“通过页数相同识别到结束”)
跳出循环 ()
.如果真结束
.如果真 (链接地址 = 超文本浏览框1.地址) ' 原来循环判断尾的判断条件移动到这
调试输出 (“通过地址相同识别到结束”)
跳出循环 ()
.如果真结束
.如果真 (是否跳过)
报错 (“提示:已跳过当前任务”)
跳出循环 ()
.如果真结束
超文本浏览框1.跳转 (链接地址, , )
.如果 (取数组成员数 (最近时间) ≥ 20)
.计次循环首 (取数组成员数 (最近时间) - 1, 临时已次数)
最近时间 [临时已次数] = 最近时间 [临时已次数 + 1]
.计次循环尾 ()
最近时间 [取数组成员数 (最近时间)] = 到整数 (到长整数 (时间_取现行时间戳 ()) - 当前时间)
.否则
加入成员 (最近时间, 到整数 (到长整数 (时间_取现行时间戳 ()) - 当前时间))
.如果结束
全部时间 = 0
.计次循环首 (取数组成员数 (最近时间), 临时已次数)
全部时间 = 全部时间 + 最近时间 [临时已次数]
.计次循环尾 ()
平均时间 = 四舍五入 (全部时间 ÷ 取数组成员数 (最近时间), 0)
.循环判断尾 (真) ' 神tm出现了一次跳转速度太快直接判断下完了,于是把判断移动到跳转前了
.如果 (当前列表位置 = 取数组成员数 (下载地址列表))
调试输出 (“已全部保存”)
.如果真 (设置_waifu2x = 真 且 设置_w2等待 = 假)
新延时 (1000)
.如果真结束
删除文件 (设置_目录 + “raw.bmp”)
调试输出 (编辑框1.内容)
保存列表 (真)
结束 ()
.否则
.如果真 (进程_是否存在 (“WebDownloadService.exe”))
.如果真 (端口检测 (15651, “127.0.0.1”)) ' 突然想起来和那啥的WDS同名了,妈的,后面再检查下端口吧
超文本浏览框1.跳转 (“http://127.0.0.1:15651/”, , ) ' 防止下一任务为图片地址输入且默认文件名设置导致不能重名检测时创建成上个文件夹名,缺点是运行了WDS才管用
新延时 (100) ' 测试时出现了一次跳转后图片地址任务创建出上个任务文件名,怀疑是还没加载到下个地址就获取到了标题
.如果真结束
.如果真结束
保存列表 ()
当前列表位置 = 当前列表位置 + 1
报错 (“提示:开始下载第” + 到文本 (当前列表位置) + “个任务,共” + 到文本 (取数组成员数 (下载地址列表)) + “个”)
开始下载 () ' 反正列表数量不会特别特别多,应该不会有堆栈影响吧
.如果结束
.子程序 毫秒数到自然语言, 文本型
.参数 输入毫秒, 整数型
.局部变量 剩余秒数, 整数型
.局部变量 剩余分钟, 整数型
.局部变量 剩余小时, 整数型
.局部变量 可除次数, 整数型
.局部变量 输出文本, 文本型
剩余秒数 = 四舍五入 (输入毫秒 ÷ 1000, 0)
.如果真 (剩余秒数 ≥ 60)
可除次数 = 到整数 (剩余秒数 ÷ 60)
剩余秒数 = 剩余秒数 - 60 × 可除次数
剩余分钟 = 剩余分钟 + 可除次数
.如果真结束
.如果真 (剩余分钟 ≥ 60)
可除次数 = 到整数 (剩余分钟 ÷ 60)
剩余分钟 = 剩余分钟 - 60 × 可除次数
剩余小时 = 剩余小时 + 可除次数
.如果真结束
.如果真 (剩余小时 ≠ 0)
输出文本 = 输出文本 + 到文本 (剩余小时) + “h”
.如果真结束
.如果真 (剩余分钟 ≠ 0)
输出文本 = 输出文本 + 补一个0 (剩余分钟) + “m”
.如果真结束
.如果真 (剩余秒数 ≠ 0)
输出文本 = 输出文本 + 补一个0 (剩余秒数) + “s”
.如果真结束
返回 (输出文本)
.子程序 补一个0, 文本型
.参数 输入整数, 整数型
.局部变量 文本整数, 文本型
.如果真 (取文本长度 (到文本 (输入整数)) = 1)
返回 (“0” + 到文本 (输入整数))
.如果真结束
返回 (到文本 (输入整数))
.子程序 文件名前加序号0
.参数 输入目录, 文本型
.局部变量 全文件数组, 文本型, , "0"
.局部变量 已次数的, 整数型
文件_枚举 (输入目录, “*.*”, 全文件数组, 假)
.计次循环首 (取数组成员数 (全文件数组), 已次数的)
文件_改名 (输入目录 + 全文件数组 [已次数的], 输入目录 + “0_” + 全文件数组 [已次数的])
.计次循环尾 ()
.子程序 报错
.参数 信息, 文本型
调试输出 (信息)
编辑框1.加入文本 (#换行符 + 时间_到文本 (, 1, 5) + “ ” + 信息)
编辑框1.可视 = 真
写到文件 (取运行目录 () + “\log.txt”, 到字节集 (编辑框1.内容))
' 置剪辑板文本 (编辑框1.内容)
.子程序 获取下载地址, , , 需要多次调用,临时改的,以后在优化吧
处理次数 = 0
.循环判断首 ()
清除数组 (地址数组)
清除数组 (图片高度数组)
清除数组 (图片ID数组) ' 怀疑在加载过程中如果只加载到图片部分标签导致数组数量可能不同,改到循环内清空
新延时 (设置_循环处理频率)
普通填表.初始化 (超文本浏览框1.取窗口句柄 ())
普通填表.图片_枚举 (地址数组, , 图片高度数组, , 图片ID数组, )
.计次循环首 (取数组成员数 (地址数组), 已次数)
.如果真 (图片ID数组 [已次数] = “img” 且 到整数 (图片高度数组 [已次数]) > 150)
调试输出 (图片高度数组 [已次数], “取出图片”)
.如果真 (地址数组 [已次数] ≠ 上个地址)
调试输出 (地址数组 [已次数], 图片高度数组 [已次数], 图片ID数组 [已次数])
图片地址 = 地址数组 [已次数]
上个地址 = 图片地址
第几张图 = 已次数
.如果真结束
.如果真结束
.计次循环尾 ()
标签1.标题 = “将在” + 补0 (到文本 (四舍五入 ((设置_网页加载超时 ÷ 设置_循环处理频率 - 处理次数) ÷ (1000 ÷ 设置_循环处理频率), 1))) + “s后刷新”
按钮1.标题 = “立即刷新”
处理次数 = 处理次数 + 1
.循环判断尾 (图片地址 = “” 且 处理次数 < 到整数 (设置_网页加载超时 ÷ 设置_循环处理频率))
标签2.标题 = 查询IP位置 (网页_取域名 (图片地址))
.子程序 是否支持, 整数型, , 0为不支持
.参数 输入网址, 文本型
.如果真 (取文本右边 (校验_取md5 (到字节集 (取文本左边 (输入网址, 23))), 10) = “715b050676”)
返回 (1)
.如果真结束
.如果真 (取文本右边 (校验_取md5 (到字节集 (取文本左边 (输入网址, 23))), 10) = “879cb3da4a”)
返回 (2)
.如果真结束
.如果真 (取文本右边 (校验_取md5 (到字节集 (取文本左边 (输入网址, 23))), 10) = “8b0b17226e”)
返回 (11)
.如果真结束
.如果真 (取文本右边 (校验_取md5 (到字节集 (取文本左边 (输入网址, 23))), 10) = “0a11cb8aa6”)
返回 (12)
.如果真结束
返回 (0)
.子程序 源码取标题, 文本型
.参数 源码, 文本型
.参数 是否强制英文, 逻辑型, 可空
.参数 所在目录, 文本型, , 判断目录若存在文件夹则自动更名
.参数 是否不去重, 逻辑型, 可空
.局部变量 文件夹, 文本型
.局部变量 存在几个, 整数型
.如果真 (是否强制英文 = 假)
文件夹 = 文本_取出中间文本 (源码, “<H1 id=gj>”, “</H1>”, , )
.如果真结束
.如果真 (文件夹 = “”)
文件夹 = 文本_取出中间文本 (源码, “<H1 id=gn>”, “</H1>”, , )
.如果真 (快速取出现次数 (源码, “Click here if the image fails loading”) ≠ 0 且 文件夹 = “”)
文件夹 = 文本_取出中间文本 (源码, “<h1>”, “</h1>”, , 真)
.如果真结束
.如果真 (文件夹 = “”)
文件夹 = 文本_取出中间文本 (源码, “<TITLE>”, “ - E”, , )
.如果真结束
.如果真结束
.如果真 (文件夹 = “服务器错误”)
返回 (“”)
.如果真结束
文件夹 = 文本_替换 (文件夹, , , , “/”, “ ”, “\”, “ ”, “*”, “ ”, “|”, “ ”, #引号, “ ”)
文件夹 = 文本_替换 (文件夹, , , , “?”, “ ”, “<”, “ ”, “>”, “ ”, “:”, “ ”)
' 文件夹 = 编码_Unicode到Ansi (编码_Ansi到Unicode (文件夹)) ' 去除Unicode字符 更新:后来发现是替换?起作用
.如果真 (是否不去重 = 假)
.如果真 (目录_是否存在 (所在目录 + 文件夹))
.计次循环首 (100, 存在几个)
.如果真 (目录_是否存在 (所在目录 + 文件夹 + “ (” + 到文本 (存在几个) + “)”) = 假)
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真结束
.如果真 (存在几个 ≠ 0)
文件夹 = 文件夹 + “ (” + 到文本 (存在几个) + “)”
.如果真结束
.如果真结束
返回 (文件夹)
.子程序 源码取数量, 整数型
.参数 输入源码, 文本型
.局部变量 当前数量, 整数型
当前数量 = 到整数 (文本_取出中间文本 (输入源码, “ of ”, “ images”, , ))
.如果真 (当前数量 = 0)
当前数量 = 到整数 (文本_取出中间文本 (输入源码, “</span> / <span>”, “</span></div>”, , 真))
.如果真结束
返回 (当前数量)
.子程序 源码取当前数量, 整数型
.参数 输入源码, 文本型
返回 (到整数 (文本_取出中间文本 (输入源码, “<DIV><SPAN>”, “</SPAN> / <SPAN>”, , 真)))
.子程序 快速取出现次数, 整数型
.参数 全部文本, 文本型
.参数 要找的文本, 文本型
.局部变量 全部内容, 快速文本对象
全部内容.置文本 (全部文本)
返回 (全部内容.替换子文本 (要找的文本, “”, , , 真))
.子程序 打开设置窗口
载入 (设置窗口, , 真)
结束 ()
.子程序 __启动窗口_创建完毕
.局部变量 读入列表, 文本型
当前版本 = 49
启动线程 (&更新检测, , )
.如果真 (文件是否存在 (取运行目录 () + “\Setting.ini”) = 假 且 文件是否存在 (取运行目录 () + “\set.ini”) = 真)
更新设置 ()
.如果真结束
.如果真 (加载设置 () = 假)
.如果 (保存设置 (“”, 取运行目录 () + “\”, 10000, 20000, 0, 假, 85, 100, 真, 假, “”, “upconv_7_anime_style_art_rgb”, “gpu”, 1, 2, 980, 真) = 真)
加载设置 ()
信息框 (“首次使用需要填写Cookies设置” + #换行符 + “保存设置后复制Ex网址即可下载”, 0, , )
.如果真 (信息框 (#警告提示 + “ 是否同意?”, 4, “用户协议”, ) = 6)
删除文件 (取运行目录 () + “\Setting.ini”)
结束 ()
.如果真结束
打开设置窗口 ()
.否则
信息框 (“创建初始设置失败,” + #换行符 + “请检查软件所在目录是否含有特殊字符,” + #换行符 + “本软件不支持Unicode字符!”, 0, , )
结束 ()
.如果结束
.如果真结束
_启动窗口.标题 = “Ex图片下载器v” + 到文本 (当前版本 ÷ 10) + “ @WGzeyu https://github.com/wgzeyu/ExDownloader”
' 下载地址列表 = 分割文本 (取剪辑板文本 (), #换行符, )
加入列表文本 (取剪辑板文本 (), 真)
读入列表 = 到文本 (读入文件 (取运行目录 () + “\list.txt”))
.如果真 (读入列表 ≠ “”)
加入列表文本 (读入列表)
.如果真结束
当前列表位置 = 1
.如果真 (快速取出现次数 (设置_Cookie, “ipb_pass_hash=”) = 0)
打开设置窗口 ()
.如果真结束
.判断开始 (取数组成员数 (下载地址列表) = 0)
打开设置窗口 ()
.判断 (是否支持 (下载地址列表 [1]) = 0)
打开设置窗口 ()
.默认
.判断结束
.如果真 (取系统语言 () = 2)
设置_是否英文 = 真
.如果真结束
网页_置Cookie1 (网页_取域名 (下载地址列表 [1]), 设置_Cookie)
进度条_初始化 (_启动窗口.取窗口句柄 ())
.如果真 (设置_是否非线程 = 假)
启动线程 (&开始下载, , )
.如果真结束
服务器1.端口 = 15650
时钟1.时钟周期 = 1000
.子程序 更新设置
.局部变量 打开的设置, 文本型
.局部变量 非线程启动b, 逻辑型
.局部变量 取出的目录, 文本型
打开的设置 = 到文本 (读入文件 (取运行目录 () + “\set.ini”))
.如果真 (快速取出现次数 (文本_取出中间文本 (打开的设置, “<cookies>”, “</cookies>”), “ipb_pass_hash=”) = 0)
返回 ()
.如果真结束
取出的目录 = 文本_取出中间文本 (打开的设置, “<directory>”, “</directory>”)
.如果真 (取出的目录 = “”)
返回 ()
.如果真结束
.如果真 (取文本右边 (取出的目录, 1) ≠ “\”)
取出的目录 = 取出的目录 + “\”
.如果真结束
.如果真 (到整数 (文本_取出中间文本 (打开的设置, “<WebTimeOut>”, “</WebTimeOut>”)) = 0)
返回 ()
.如果真结束
.如果真 (到整数 (文本_取出中间文本 (打开的设置, “<ImgTimeOut>”, “</ImgTimeOut>”)) = 0)
返回 ()
.如果真结束
.如果真 (快速取出现次数 (打开的设置, “非线程启动”) ≠ 0)
非线程启动b = 真
.如果真结束
保存设置 (文本_取出中间文本 (打开的设置, “<cookies>”, “</cookies>”), 取出的目录, 到整数 (文本_取出中间文本 (打开的设置, “<WebTimeOut>”, “</WebTimeOut>”)), 到整数 (文本_取出中间文本 (打开的设置, “<ImgTimeOut>”, “</ImgTimeOut>”)), 到整数 (文本_取出中间文本 (打开的设置, “<Re-nameSet>”, “</Re-nameSet>”)), 非线程启动b, 85, 100, 真, 假, “”, “upconv_7_anime_style_art_rgb”, “gpu”, 1, 2, 980, 真)
.子程序 补0, 文本型
.参数 传入数值, 文本型
.局部变量 处理数值, 文本型
处理数值 = 传入数值
.如果真 (到小数 (处理数值) < 10)
处理数值 = “0” + 处理数值
.如果真结束
.如果真 (快速取出现次数 (处理数值, “.”) = 0)
返回 (处理数值 + “.0”)
.如果真结束
返回 (处理数值)
.子程序 更新检测
.局部变量 访问结果, 文本型
.局部变量 循环次数, 整数型
.局部变量 读取版本, 整数型
.局部变量 更新内容, 文本型
.局部变量 已次数, 整数型
.局部变量 使用服务器, 文本型
.计次循环首 (4, 循环次数)
访问结果 = 到文本 (编码_BASE64解码 (文本_取出中间文本 (到文本 (网页_访问_对象 (“https://wgzeyu.gtxcn.com/ExDownloader/updatecheck.php”, 1, “ver=” + 到文本 (当前版本), , , , , , , , , 5 + 循环次数 × 2)), “<base64>”, “</base64>”)))
使用服务器 = “HTTPS:wgzeyu.gtxcn.com[加密,日本VPS+CloudFlare,只取新版内容]” ' 使用PHP防止被cloudflare缓存,第一时间读取到更新,并且只输出比当前版本新的版本号,加载更快
.如果真 (访问结果 ≠ “”) ' 1默认使用带HTTPS的个人服务器读取更新
跳出循环 ()
.如果真结束
访问结果 = 到文本 (编码_BASE64解码 (文本_取出中间文本 (到文本 (网页_访问_对象 (“https://wgzeyu.github.io/ExDownloader/updatecheck.txt”, 0, , , , , , , , , , 6 + 循环次数 × 2)), “<base64>”, “</base64>”)))
使用服务器 = “HTTPS:wgzeyu.github.io[加密,GitHubIO]”
.如果真 (访问结果 ≠ “”) ' 2其次使用带HTTPS的GitHub读取更新
跳出循环 ()
.如果真结束
.计次循环尾 ()
.如果真 (访问结果 = “”)
调试输出 (“检测更新失败”)
传递_更新内容 = “失败”
返回 ()
.如果真结束
调试输出 (访问结果)
传递_更新内容 = 访问结果
读取版本 = 到整数 (文本_取出中间文本 (访问结果, “<ver>”, “</ver>”))
调试输出 (“本地版本号:” + 到文本 (当前版本) + “ 在线版本号:” + 到文本 (读取版本) + “ 使用服务器:” + 使用服务器)
.如果真 (读取版本 > 当前版本)
更新内容 = “Ex图片下载器v” + 到文本 (当前版本 ÷ 10) + “→v” + 到文本 (读取版本 ÷ 10) + “更新记录:” + #换行符
.计次循环首 (读取版本 - 当前版本, 已次数)
.如果真 (文本_取出中间文本 (访问结果, “<” + 到文本 (读取版本 - 已次数 + 1) + “>”, “</” + 到文本 (读取版本 - 已次数 + 1) + “>”) ≠ “”)
更新内容 = 更新内容 + 文本_取出中间文本 (访问结果, “<” + 到文本 (读取版本 - 已次数 + 1) + “>”, “</” + 到文本 (读取版本 - 已次数 + 1) + “>”) + #换行符
.如果真结束
.计次循环尾 ()
.如果真 (信息框 (文本_取出中间文本 (访问结果, “<txt>”, “</txt>”) + #换行符 + #换行符 + 更新内容 + #换行符 + “是否更新?”, 36, “发现新版本”, ) = 5)
网页_打开指定网址 (文本_取出中间文本 (访问结果, “<url>”, “</url>”))
.如果真结束
.如果真结束
.子程序 __启动窗口_尺寸被改变
超文本浏览框1.宽度 = _启动窗口.宽度 - 7
超文本浏览框1.高度 = _启动窗口.高度 - 29
分组框1.顶边 = _启动窗口.高度 - 分组框1.高度 - 38
分组框1.左边 = _启动窗口.宽度 - 分组框1.宽度 - 16
编辑框1.顶边 = _启动窗口.高度 - 编辑框1.高度 - 38
.子程序 _按钮1_被单击
处理次数 = 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率)
.子程序 _按钮2_被单击
处理次数 = 处理次数 - 到整数 (设置_图片加载超时 ÷ 设置_循环处理频率)
.子程序 图片是否载入完成, 逻辑型
.参数 输入普通填表, 普通填表
.参数 索引_地址_ID_title, 文本型
.局部变量 临时图片对象, 对象
临时图片对象 = 输入普通填表.图片_取对象 (索引_地址_ID_title)
返回 (临时图片对象.读逻辑属性 (“complete”, ))
.子程序 __启动窗口_首次激活
.如果真 (设置_是否非线程 = 真)
开始下载 ()
.如果真结束
.子程序 取进程运行数量, 整数型
.参数 进程文件名称, 文本型
.局部变量 进程, 进程信息, , "0"
.局部变量 内已次数, 整数型
.局部变量 进程数量, 整数型
进程 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程), 内已次数)
.如果真 (进程 [内已次数].进程名称 = 进程文件名称)
进程数量 = 进程数量 + 1
.如果真结束
.计次循环尾 ()
返回 (进程数量)
.子程序 __启动窗口_将被销毁
结束 ()
.子程序 查询IP位置, 文本型, , 带缓存,错误判断,多节点
.参数 IP, 文本型
.局部变量 访问结果, 文本型
.局部变量 开始时间, 长整数型
.局部变量 内已次数, 整数型
开始时间 = 取启动时间 ()
.计次循环首 (取数组成员数 (IP_缓存地址), 内已次数) ' 先读取缓存
.如果真 (IP_缓存地址 [内已次数] = IP)
调试输出 (“【”, 取启动时间 () - 开始时间, “获取IP地址耗时毫秒】”)
返回 (IP_缓存位置 [内已次数])
.如果真结束
.计次循环尾 ()
.如果真 (IP_超时次数 ≥ 3)
返回 (“暂停获取”)
.如果真结束
访问结果 = IP查询_ipip (IP)
内已次数 = 0
.判断循环首 (访问结果 = “”) ' 这破API随机返回403
内已次数 = 内已次数 + 1
.如果 (取启动时间 () - 开始时间 < 3000) ' 不到3秒就重试
.判断开始 (内已次数 = 1) ' 第一次重试还是ipip
访问结果 = IP查询_ipip (IP)
.判断 (内已次数 = 2) ' 第二次重试新浪
访问结果 = IP查询_sina (IP)
.默认
返回 (“获取失败重试也失败”) ' 还失败就返回失败
.判断结束
.否则
IP报错计次 ()
返回 (“获取失败且超时”)
.如果结束
.判断循环尾 ()
.如果真 (取文本长度 (访问结果) ≥ 8)
加入成员 (IP_缓存地址, IP)
加入成员 (IP_缓存位置, 访问结果)
.如果真结束
.如果真 (取启动时间 () - 开始时间 ≥ 3000)
IP报错计次 ()
.如果真结束
调试输出 (“【”, 取启动时间 () - 开始时间, “获取IP地址耗时毫秒】”)
.如果真 (内已次数 ≠ 0)
调试输出 (“【”, 内已次数, “】重试次数”)
.如果真结束
返回 (访问结果)
.子程序 IP查询_ipip, 文本型, , 使用ipip.net的免费API,每天可以查询1000次
.参数 IP, 文本型
.局部变量 访问结果, 文本型
.局部变量 返回状态, 整数型
访问结果 = 编码_Utf8到Ansi (网页_访问_对象 (“http://freeapi.ipip.net/” + IP, 0, , , , , , 返回状态, , , , 5)) ' UTF-8编码
访问结果 = 文本_替换 (文本_取出中间文本 (访问结果, “[”, “]”), , , , “,”, “”, #引号, “”, “ ”, “”)
.如果真 (取文本长度 (访问结果) ≥ 4 且 返回状态 = 200 且 取文本长度 (访问结果) ≤ 60)
返回 (访问结果)
.如果真结束
返回 (“”)
.子程序 IP查询_sina, 文本型, , 使用新浪的免费API,没ipip.net详细
.参数 IP, 文本型, , 本来还想加个淘宝,结果总超时,解析还麻烦,就懒得做了
.局部变量 访问结果, 文本型
.局部变量 返回状态, 整数型
访问结果 = 到文本 (网页_访问_对象 (“http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=” + IP, 0, , , , , , 返回状态, , , , 5)) ' GBK编码
访问结果 = 文本_替换 (访问结果, , , , “ ”, “”, “-”, “”, “1”, “”, #换行符, “”, 字符 (#Tab键), “”)
.如果真 (取文本长度 (访问结果) ≥ 4 且 返回状态 = 200 且 取文本长度 (访问结果) ≤ 40)
返回 (访问结果)
.如果真结束
返回 (“”)
.子程序 IP报错计次
IP_超时次数 = IP_超时次数 + 1
.如果真 (IP_超时次数 ≥ 3)
报错 (“警告:获取服务器位置信息耗时屡次超时,为确保下载速度不被影响已暂停获取服务器位置信息”)
.如果真结束
.子程序 _按钮3_被单击
加入列表文本 (取剪辑板文本 ())
.子程序 加入列表文本
.参数 输入文本, 文本型
.参数 是否隐藏, 逻辑型, 可空
.局部变量 整理文本, 文本型, , "0"
.局部变量 内已次数, 整数型
.局部变量 内内已次数, 整数型
.局部变量 是否有重复, 逻辑型
.局部变量 添加文本a, 文本型
调试输出 (“输入文本”, 输入文本)
添加文本a = 输入文本
调试输出 (“添加文本”, 添加文本a)
.如果 (是否支持 (添加文本a) ≠ 0)
整理文本 = 分割文本 (添加文本a, #换行符, )
.计次循环首 (取数组成员数 (整理文本), 内已次数)
调试输出 (“整理文本”, 内已次数, 整理文本 [内已次数])
是否有重复 = 假
.如果真 (是否支持 (整理文本 [内已次数]) < 10)
.计次循环首 (取数组成员数 (下载地址列表), 内内已次数)
.如果真 (是否支持 (下载地址列表 [内内已次数]) < 10)
调试输出 (文本_取出中间文本 (下载地址列表 [内内已次数], “/g/”, “/”), 文本_取出中间文本 (整理文本 [内已次数], “/g/”, “/”))
.如果真 (文本_取出中间文本 (下载地址列表 [内内已次数], “/g/”, “/”) = 文本_取出中间文本 (整理文本 [内已次数], “/g/”, “/”))
是否有重复 = 真
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真结束
.如果 (是否有重复 = 假)
调试输出 (“加入整理文本”, 内已次数, 整理文本 [内已次数])
加入成员 (下载地址列表, 整理文本 [内已次数])
.如果真 (是否隐藏 = 假)
报错 (“提示:已添加” + 到文本 (取数组成员数 (整理文本)) + “个地址到列表中,下载完成后会按列表继续下载,列表中已有” + 到文本 (取数组成员数 (下载地址列表)) + “个任务,当前已下载到第” + 到文本 (当前列表位置) + “个”)
.如果真结束
.否则
.如果真 (是否隐藏 = 假)
报错 (“警告:请不要添加重复任务”)
.如果真结束
.如果结束
.计次循环尾 ()
.否则
.如果真 (是否隐藏 = 假)
报错 (“警告:请先复制Ex网址再点添加到列表按钮”)
.如果真结束
.如果结束
.如果真 (是否隐藏 = 假)
保存列表 ()
.如果真结束
.子程序 加载设置, 逻辑型
.局部变量 打开设置, 文本型
.如果真 (文件是否存在 (取运行目录 () + “\Setting.ini”) = 假)
返回 (假)
.如果真结束
打开设置 = 编码_Utf8到Ansi (读入文件 (取运行目录 () + “\Setting.ini”))
设置_Cookie = 文本_取出中间文本 (打开设置, “<Cookie>”, “</Cookie>”)
设置_目录 = 文本_取出中间文本 (打开设置, “<下载目录>”, “</下载目录>”)
设置_网页加载超时 = 到整数 (文本_取出中间文本 (打开设置, “<网页超时>”, “</网页超时>”))
设置_图片加载超时 = 到整数 (文本_取出中间文本 (打开设置, “<图片超时>”, “</图片超时>”))
设置_同名设置 = 到整数 (文本_取出中间文本 (打开设置, “<同名设置>”, “</同名设置>”))
设置_是否非线程 = 到逻辑型 (文本_取出中间文本 (打开设置, “<非线程启动>”, “</非线程启动>”))
设置_压缩质量 = 到整数 (文本_取出中间文本 (打开设置, “<图片质量>”, “</图片质量>”))
设置_循环处理频率 = 到整数 (文本_取出中间文本 (打开设置, “<处理频率>”, “</处理频率>”))
设置_是否保存网址 = 到逻辑型 (文本_取出中间文本 (打开设置, “<保存网址>”, “</保存网址>”))
设置_waifu2x = 到逻辑型 (文本_取出中间文本 (打开设置, “<waifu2x>”, “</waifu2x>”))
设置_w2路径 = 文本_取出中间文本 (打开设置, “<w2路径>”, “</w2路径>”)
.如果 (文本_取出中间文本 (打开设置, “<w2模型>”, “</w2模型>”) ≠ “”) ' 后续添加设置项后为了兼容之前版本设置项防止出现新设置项不是默认设置所以做判断
设置_w2模型 = 文本_取出中间文本 (打开设置, “<w2模型>”, “</w2模型>”)
.否则
设置_w2模型 = “upconv_7_anime_style_art_rgb”
.如果结束
.如果 (文本_取出中间文本 (打开设置, “<w2处理器>”, “</w2处理器>”) ≠ “”)
设置_w2处理器 = 文本_取出中间文本 (打开设置, “<w2处理器>”, “</w2处理器>”)
.否则
设置_w2处理器 = “gpu”
.如果结束
.如果 (文本_取出中间文本 (打开设置, “<w2降噪>”, “</w2降噪>”) ≠ “”)
设置_w2降噪 = 到整数 (文本_取出中间文本 (打开设置, “<w2降噪>”, “</w2降噪>”))
.否则
设置_w2降噪 = 1
.如果结束
.如果 (文本_取出中间文本 (打开设置, “<w2放大>”, “</w2放大>”) ≠ “”)
设置_w2放大 = 到小数 (文本_取出中间文本 (打开设置, “<w2放大>”, “</w2放大>”))
.否则
设置_w2放大 = 2
.如果结束
.如果 (文本_取出中间文本 (打开设置, “<w2阈值>”, “</w2阈值>”) ≠ “”)
设置_w2阈值 = 到整数 (文本_取出中间文本 (打开设置, “<w2阈值>”, “</w2阈值>”))
.否则
设置_w2阈值 = 980
.如果结束
.如果 (文本_取出中间文本 (打开设置, “<w2等待>”, “</w2等待>”) ≠ “”)
设置_w2等待 = 到逻辑型 (文本_取出中间文本 (打开设置, “<w2等待>”, “</w2等待>”))
.否则
设置_w2等待 = 真
.如果结束
返回 (真)
.子程序 保存列表
.参数 是否保存空列表, 逻辑型, 可空
.局部变量 当前文本, 文本型
.局部变量 内已次数, 整数型
.如果真 (是否保存空列表)
写到文件 (取运行目录 () + “\list.txt”, 到字节集 (“”))
返回 ()
.如果真结束
调试输出 (取数组成员数 (下载地址列表), 当前列表位置, “数量”)
.计次循环首 (取数组成员数 (下载地址列表) - 当前列表位置, 内已次数)
调试输出 (当前文本)
当前文本 = 当前文本 + 下载地址列表 [当前列表位置 + 内已次数] + #换行符
.计次循环尾 ()
调试输出 (“保存列表”, 当前文本)
写到文件 (取运行目录 () + “\list.txt”, 到字节集 (当前文本))
.子程序 _服务器1_数据到达