吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8983|回复: 18
收起左侧

[其他原创] [原创] 下载链接批量生成 (附源码)

[复制链接]
plaodj 发表于 2017-8-11 15:33
网络上还没看到这种页面,但对有些人来说,这个功能很有用

迅雷有个批量下载的功能,那个生成下载链接的方式还是很方便,反正有时候对我来说真的非常非常有用。举个例子:就像一个小说网站,某本小说的页面,这个页面链接了这本小说的各个章节页面,通常这些链接也都是有规律的,01,02,03……但是这个页面也包含了其它内容的链接。当这些链接都非常多的时候,这个批量生成的下载链接就非常有用。虽然可以右键批量下载,但这个批量下载可是全部都下载,不需要的还要自己去挑除。

我是越来越不喜欢迅雷了,就一吸血鬼,你不充会员那么在使用迅雷下载的时候,你的流量付出比收获的下载多很多,就算充了会员,也不见就好,而且有些资源也还是下载不了。有鉴于此,昨天按着这个思路自己做了个链接生成器,经过测试,功能上不输于迅雷的那个功能。而且我这还是在线版,只能能访问网络就能使用~

先来个图:
QQ截图20170811153158.jpg

[HTML] 纯文本查看 复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>下载链接批量生成</title>
  <meta name="generator" content="hand" />
  <meta name="author" content="plaodj" />
  <meta name="keywords" content="下载,链接,批量生成,迅雷,旋风" />
  <meta name="description" content="下载链接批量生成器" />
<style type="text/css">
body{
	width:968px;
	margin:0 auto;
	background-image:url(5-120601092211.gif);
	}
p{
	line-height:1.1em;
	}
h1{
	color:red;
	text-align:center;
	}

hr{
	color:#06F;
		}

.creat{
	width:968px;
	height:73px;
	border:1px solid blue;
	font-size:13px;
	}
	
.yuan{
	float:left;
	width:399px;
	height:72px;
	position:relative;
    }

.yuanin{
	width:398px;
	height:71px;
	position:absolute;
	top:35%;
	}

.fangshi{
	width:328px;
	height:71px;
	float:left;
	border:1px solid #D6D6D6;
	}
	
.houzhui{
	width:236px;
	height:72px;
	float:left;
	position:relative;
	}

.houzhuiin{
	width:236px;
	height:72px;
	position:absolute;
	top:35%;
	}

#t1{
	width:342px;
	}

#t2,#t3,#t4,#t5,#t6,#t7{
	width:50px;
	}

#t8{
	width:968px;
	height:600px;
	background-image:url(5-120601092G2-51.png);
	resize:none;
	}
	
.op{
	width:968px;
	height:196px;
	border:1px solid #6F6868;
	margin-top:0px;
	margin-bottom:5px;
	}	

span{
	color:red;
	font-size:14px;
	}
.sm textarea{
	width:962px;
	height:95px;
	background-image:url(5-120601092211.gif);
	resize:none;
	overflow:hidden;
	}

.shuchu{
	width:968px;
	height:600px;
	}

.cz{
	width:86px;
	height:30px;
	margin:0px 74px 0px 74px;
	}
	
.footer{
	clear:both;
	text-align:center;
	}
	
.guide{
	width:969px;
	height:31px;
	border:1px solid gray;
	margin:0;
	}
	
</style>
<script type="text/javascript">
<!--
function load(){
	document.getElementById("t5").disabled=true;
	document.getElementById("t6").disabled=true;
	}
	
function c1(){
	document.getElementById("t2").disabled=false;
	document.getElementById("t3").disabled=false;
	document.getElementById("t4").disabled=false;
	document.getElementById("t5").disabled=true;
	document.getElementById("t6").disabled=true;
	}
	
function c2(){
	document.getElementById("t2").disabled=true;
	document.getElementById("t3").disabled=true;
	document.getElementById("t4").disabled=true;
	document.getElementById("t5").disabled=false;
	document.getElementById("t6").disabled=false;
	}

function checklength(){
	var n5s=document.getElementById("t5").value;
	var n6s=document.getElementById("t6").value;
	if ((n5s.length!=1)||(n6s.length!=1)){
		alert("输入有误!")
		document.getElementById("t5").value="a";
		document.getElementById("t6").value="z";
		return;
		}
	}

function bl(num, n) {
    return (Array(n).join(0) + num).slice(-n);
   }
	
function sc(){
   var s1=document.getElementById("t1").value;
   var s3=document.getElementById("t7").value;
   var n4=document.getElementById("t4");
   var n2=document.getElementById("t2");
   var n3=document.getElementById("t3");
   var n5=document.getElementById("t5").value;
   var n6=document.getElementById("t6").value;
   var n7=document.getElementById("t7");

   
   if (document.getElementById("RadioGroup1_0").checked){
   switch (n4.value)
   {
	case "1":
		if ((n2.value>n3.value)||(n2.value.length!=n3.value.length)||(n2.value.length!=n4.value))
		{
			alert("输入有误,请重新检查!");
			}
			else
			{
				for(var i=n2.value;i<=n3.value;i++){
					document.getElementById("t8").value +=(s1+i+s3+"\n");
					}				
				}
	break;
	case "2":
		if ((n2.value>n3.value)||(n2.value.length!=n3.value.length)||(n2.value.length!=n4.value))
		{
			alert("输入有误,请重新检查!");
			}
			else
			{
					for(var i=n2.value;i<=n3.value;i++){
					document.getElementById("t8").value +=(s1+bl(i,2)+s3+"\n");
					}			
				}
	break;
	default:
			if ((n2.value>n3.value)||(n2.value.length!=n3.value.length)||(n2.value.length!=n4.value))
		    {
			alert("输入有误,请重新检查!");
			}
			else
			{
					for(var i=n2.value;i<=n3.value;i++){
					document.getElementById("t8").value +=(s1+bl(i,3)+s3+"\n");
					}						
				}
	}
}
	   else
	   {
		   checklength();
		   if(((n5.charCodeAt()>=97)&&(n6.charCodeAt()<97))||((n5.charCodeAt()<97)&&(n6.charCodeAt()>=97))){
		 	alert("大小写不一致!");
			}
			else{
				if((n6.charCodeAt()-n5.charCodeAt()<0)){
					alert("输入有误!")
					}
					else{
						for(var i=n5.charCodeAt(); i<=n6.charCodeAt();i++){
							document.getElementById("t8").value += (s1+String.fromCharCode(i)+s3+"\n");
							}
						}				
				}
		   }
		   
}

function fz() {
    var oContent=document.getElementById("t8");
	oContent.select(); // 选择对象
	document.execCommand("Copy"); // 执行浏览器复制命令
	alert("复制完毕,可粘贴");
}
	
function qk(){
	document.getElementById("t8").value="";
	}
	
function qkall(){
	document.getElementById("t1").value="";
	document.getElementById("RadioGroup1_0").checked=true;
	document.getElementById("t2").value="0";
	document.getElementById("t3").value="0";
	document.getElementById("t5").value="a";
	document.getElementById("t6").value="z";
	document.getElementById("t7").value="";
	document.getElementById("t8").value="";
	}
//-->
</script>

</head>

<body onLoad="load()">
<h1><strong>下载链接批量生成</strong></h1>
<hr>

<div class="creat">
  <div class="yuan">
    <div class="yuanin">链接源:<input name="t1" type="text" id="t1"></div>
  </div>
  <div class="fangshi">
    <p>
      <label>
        <input onClick="c1()" name="RadioGroup1" type="radio" id="RadioGroup1_0" value="单选" checked>
      从<input name="t2" type="number" id="t2" max="999" min="0" step="1" value="0" size="5">到<input name="t3" type="number" id="t3" max="999" min="0" step="1" value="0">通配符长度:<input name="t4" type="number" id="t4" max="3" min="1" step="1" value="2">(1~3)</label>
      <br>
      <label>
        <input onClick="c2()" type="radio" name="RadioGroup1" value="单选" id="RadioGroup1_1">
      从<input name="t5" type="text" id="t5" value="a" maxlength="1" onKeyUp="value=value.replace(/[^a-zA-Z]/g,'')">到<input name="t6" type="text" id="t6" value="z" maxlength="1" onKeyUp="value=value.replace(/[^a-zA-Z]/g,'')">(区分大小写)</label>
      <br>
    </p>
  </div>
  <div class="houzhui">
    <div class="houzhuiin"><input type="text" name="t7" size="6" id="t7">(后缀如:.htm .mp3 .jpg …)</div>
  </div>
</div>
<div class="guide"><img src="downlink.jpg" width="968" height="31" alt=""/></div>
<div class="op">
  <div class="sm">URL:例如:http://www.x.cn/file(*).zip ;<span>http://www.x.cn/file</span>  填入 <span>链接源</span> ; (*) 是操作部分  ; <span>.zip</span> 填入 <span>后缀区</span> <br />
  若操作部分选择第一个,从00到19,通配符长度是2,最后生成的下载链接是:<br />
  <textarea disabled>http://www.yzqz.cn/file00.zip
http://www.x.cn/file01.zip
http://www.x.cn/file02.zip
……
http://www.x.cn/file18.zip
http://www.x.cn/file19.zip
  </textarea>
  </div>
  <hr>
  <div class="an">
  <input onClick="sc()" name="sc" type="button" class="cz" title="生成链接并显示到下面文本框" value="生成链接">
  <input onClick="fz()" name="fz" type="button" class="cz" title="将会复制链接下面文本框所有内容" value="复制链接">
  <input onClick="qk()" name="qk" type="button" class="cz" title="只清空下面文本框内所生成的链接结果" value="清空结果">
  <input onClick="qkall()" name="qkall" type="button" class="cz" title="将清空所有输入内容及文本框内的结果" value="重置页面"></div>
</div>
<div class="shuchu"><textarea name="t8" id="t8"></textarea></div>
<hr>

<div class="footer">Designed By <a  target="_blank" title="x">x</a><font color="#FF0000"> Code &copy; 2017 </font><a >湘ICP备170152xx号</a></div>
</body>
</html>

免费评分

参与人数 4吾爱币 +3 热心值 +4 收起 理由
无痕978 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
雫Hao洋洋 + 1 + 1 热心回复!
不语 + 1 用心讨论,共获提升!
飘荡的心 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| plaodj 发表于 2017-8-13 21:47
死月 发表于 2017-8-12 18:05
逻辑上有问题吧 比如我想生成从1-100 这个 我通配符我选1 是错的2是错的 3 也是错的
但是我用001-100 通配 ...

冒险发一下地址  http://www.yzqz.cn/tools/sclink

你的无法在前面补0     要知道  我光费劲解决补0的问题就耗时良久。。
 楼主| plaodj 发表于 2017-8-11 15:40
我是楼主  代码第221行 多了  checklength();   本来是想严谨一些   用这个检测输入内容的长度    不过就一个html 文件 安全的很    就没写这个函数了  但这个页忘记消除了。。。
tj502555270 发表于 2017-8-11 15:36
lyhv587 发表于 2017-8-11 15:39
IDM也是这样的吗?
云小菁 发表于 2017-8-11 15:50
支持楼主
飘荡的心 发表于 2017-8-11 16:03
多谢LZ先收藏了,抽空研究下
闲淡一生 发表于 2017-8-11 16:12
先make,不错的
一个桂花树 发表于 2017-8-11 17:41
excel不是自动填充啊……
死月 发表于 2017-8-11 22:31
没成品么= =
 楼主| plaodj 发表于 2017-8-12 01:22

你把代码保存一个html文件就行  我已经放到我网站上了 不过这里不能贴链接  恐怕有违论坛相关之规定
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 05:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表