记一次根据url下载金庸有声小说

记一次根据url下载金庸有声小说


老爸是个老司机,平时爱听些金庸的有声小说和郭德纲相声。过年回家,回家便让我帮他下载点听。但现在小说app都是收费的。我查了各大有声小说网发现基本都是试听后收费。
但既然可以试听就可以获取到资源url。
打开评书小说网,试听第一集,F12打开调试器,在filter处输入mp3,等网页加载完,获取到资源url✌️。
获取链接
利用url解码工具获取真实链接,并进入。电脑装了迅雷,复制链接自动关联了下载。
url解码
资源地址
但问题出现了,这个链接是单集的,不能批量下载。用迅雷试了下,多个链接同时下还出现下载失败的现象。这时开始考虑利用java代码解决。

参考java下载落网音乐解决之道,出现中文url解码问题。
在这里插入图片描述
将url中出现的中文进行url解码完美解决问题。
下面附上关键代码

	while(count < 200){
		String path = null;
		if(count < 10){
			path = "http://s.kuku52.com/%e8%af%84%e4%b9%a6/%e8%af%84%e4%b9%a6%e5%a4%a9%e9%be%99%e5%85%ab%e9%83%a8/00"+count+".mp3";
		}else if(count >= 10 && count < 100){
			path = "http://s.kuku52.com/%e8%af%84%e4%b9%a6/%e8%af%84%e4%b9%a6%e5%a4%a9%e9%be%99%e5%85%ab%e9%83%a8/0"+count+".mp3";
		}else{
			path = "http://s.kuku52.com/%e8%af%84%e4%b9%a6/%e8%af%84%e4%b9%a6%e5%a4%a9%e9%be%99%e5%85%ab%e9%83%a8/"+count+".mp3";
		}



		//获取URL对象
		URL url = new URL(path);
		//根据URL打开链接
		URLConnection connection = url.openConnection();

		//从连接处获取输入流对象
		InputStream inputStream = connection.getInputStream();

		System.out.println("链接成功!");

		File file = new File("E:\\娱乐\\小说\\有声小说\\金庸\\天龙八部");

		if(!file.exists()){
			file.mkdirs();
		}

		if(count < 10){
			IOUtils.download("E:\\娱乐\\小说\\有声小说\\金庸\\天龙八部\\00"+count+".mp3", inputStream);
		}else if(count >= 10 && count < 100){
			IOUtils.download("E:\\娱乐\\小说\\有声小说\\金庸\\天龙八部\\0"+count+".mp3", inputStream);
		}else{
			IOUtils.download("E:\\娱乐\\小说\\有声小说\\金庸\\天龙八部\\"+count+".mp3", inputStream);
		}


		count++;
	}

/**
	 *
	 * @param path 需要下载的文件路径,包括后缀名
	 * @param inStream 输入流
	 */
	public static void download(String path, InputStream inStream){
		FileOutputStream fs;
		try {
				fs = new FileOutputStream(path);
			byte[] buffer = new byte[1204];

			int byteread = 0;

			while ((byteread = inStream.read(buffer)) != -1) {
				fs.write(buffer, 0, byteread);
			}
			System.out.println(path + "保存成功!");

		} catch (Exception e) {
			e.printStackTrace();
		}



	}

延申—可以根据此方案下载网页歌曲,视频,小说等资源
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值