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

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使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

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