Java实现虾米音乐的免虾币下载
发布时间:2020-12-15 03:12:46 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 源代码:https://github.com/houweitao/DownloadXiaMi 实现根据歌曲?url?或者专辑?url?来下载歌曲、歌词、封面的功能,其中下载的歌曲目录根据艺术家+
|
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 源代码:https://github.com/houweitao/DownloadXiaMi实现根据歌曲?url?或者专辑?url?来下载歌曲、歌词、封面的功能,其中下载的歌曲目录根据艺术家+专辑名称生成 平心而论,虽然没了杰伦?coldplay,但是对于冷门的歌曲,虾米的曲库还算比较全的,是一个不错的选择。之前下载歌曲的时候用过各种?chrome?插件,大概的原理都是浏览器听歌的时候嗅探访问地址,或者到浏览器缓存中招到歌曲。也一直没去深究没想去做一个自己的下载器。 昨天晚上的时候看到有人提到网易歌曲下载,于是乎研究了下虾米的歌曲下载。今天花了点时间把虾米的下载写了出来。 本地效率测试:此时时刻?巡回演唱会?25+1?首歌曲,全部下载成功,共133M,耗时1分38秒。 源代码:https://github.com/houweitao/DownloadXiaMi static public String decodeRubust(String str) {
if (str == null || str.length() < 1)
return null;
int num = Integer.valueOf(str.charAt(0) + "");
int step = (str.length() - 1) / num;
int helpStep = step;
String[] matrix = new String[num];
System.out.println(str.length() - 1);
int duo = (str.length() - 1) % num;
for (int i = 0,j = 1; i < matrix.length; i++,j = j + helpStep) {
if (i < duo)
helpStep = step + 1;
else
helpStep = step;
matrix[i] = str.substring(j,j + helpStep);
System.out.println(matrix[i]);
}
// print(matrix);
return makeSense(matrix);
}
private static String makeSense(String[] matrix) {
StringBuffer sb = new StringBuffer();
for (int j = 0; j < matrix[0].length(); j++) {
for (int i = 0; i < matrix.length; i++) {
if (matrix[i].length() - 1 >= j)
sb.append(matrix[i].charAt(j));
}
}
System.out.println(sb.toString());
String tmp = new String();
try {
tmp = URLDecoder.decode(sb.toString(),"UTF-8");
tmp = tmp.replaceAll("^","0");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
tmp = null;
}
if (tmp.subSequence(0,7).equals("http://") && tmp.substring(tmp.length()-6).equals("0-null"))
return tmp;
else
return null;
}
以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- struts2的国际化实现网站整体中英文切换实例代码
- java – Checkstyle报告catch-exception参数的Lo
- 使用java.util.timer与Quartz进行调度的优缺点?
- java – 如何设置SWT标签填充?
- 从Oracle 10g上的webapp链接“链接javax / xml /
- java – 使用JPQL计算关联对象的正确方法
- java – 使用Maven,OSGi和Bndtools
- Java8新特性之再见Permgen_动力节点Java学院整理
- java – Swing BoxLayout问题 – 不能让填充物完
- 基于java spring的webserver的Android websocket
热点阅读
