犀牛脚本:仿迅雷的增强批量下载

2023-12-25 10:20

本文主要是介绍犀牛脚本:仿迅雷的增强批量下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

迅雷的批量下载满好用。但是有两点我不太中意。在这个脚本里会有所增强

1、不能设置保存的文件名。
2、不能单独设置这批下载的线程限制。

使用方法

// 下载从编号001到编号020的图片,保存名为猫咪写真*.jpg 使用6个线程 
jdlp http:
//bizhi.zhuoku.com/bizhi/200804/0422/cat/cat{*}.jpg d:\草原上的可爱猫咪\ 猫咪写真{*}.jpg 20 1 3 6


脚本备份

ContractedBlock.gif ExpandedBlockStart.gif View Code
var rslt = [];
var urlPattern
= arguments[0].replaceAll("(http|https)://", "");
var targetDir
= arguments[1] || "d:\\";
var filenamePattern
= arguments[2] || "图片";
var endIndx
= arguments[3];
var startIndx
= arguments[4];
var numlen
= arguments[5];
var threadnum
= arguments[6];
var service
= java.util.concurrent.Executors.newFixedThreadPool(threadnum);
mkdir(targetDir);

function downloadTask
(indx) {
var url
= "http://" + urlPattern.replace("{*}", indx.toString());
var file
= targetDir + filenamePattern.replace("{*}", indx.toString());
return function() {
// 生成一个url 生成目标文件
try {
println
("downloading : " + url);
cp
(url, file);
println
("downloaded : " + url);
} catch
(e) {
println
("download error : " + url);
println
("reasion :" + e);
}
}
}

function fillStr
(str, c) {
var sb
= new java.lang.StringBuilder(str.toString());
var len
= sb.length();
if (len > numlen) {
return sb.toString().substring(0, len);
}
else {

for (var cnt = 1; cnt <= (numlen - len); cnt++)
sb
.insert(0, c);
return sb.toString();
}
}

function checkAllDone
() {
for each(var futur in rslt) {
if (future.isDone() == false) return false;
}
return true;
}

for (var i = startIndx; i <= endIndx; i++) {
var indx
= fillStr(i, '0');
var future
= service.submit(new java.lang.Thread(downloadTask(indx)));
rslt
.push(future);
}
service
.shutdown();

// 等待结束
while
(checkAllDone() == false) {
java
.lang.Thread.sleep(1000);
}

println
("~~~~over~~~");

转载于:https://www.cnblogs.com/mattmonkey/archive/2011/08/13/2301557.html

这篇关于犀牛脚本:仿迅雷的增强批量下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535165

相关文章

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

Python批量调整Word文档中的字体、段落间距及格式

《Python批量调整Word文档中的字体、段落间距及格式》这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需... 目录关键代码一级标题设置  正文设置完整代码运行结果最近关于批处理格式的问题我查了很多资料,但是都没

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re