SongTaste音乐下载器

  Songtaste是一个非常好的音乐推荐网站, 奈何和duomi搅合在一起, 导致下载音乐非常的麻烦, 现在写了一个简单的"下载器", 通过它可以下载给定音乐ID,来下载具体的音乐.

ID来自

红色方块内的id编码,

注意使用google浏览器或者其他的时候, 注意跨域ajax调用的限制, Google 为启动参数添加--disable-web-security.

打开网页:

点击下载 就可以下载了~

如下是代码:

 <html>
<head>
<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css"> <!-- 可选的Bootstrap主题文件(一般不用引入) -->
<link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"> <!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script> <!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> <!--arttemplate-->
<script type="text/javascript" src="https://rawgithub.com/aui/artTemplate/master/dist/template-native-debug.js"></script>
<script>
(function(){
window.list = [];
var WrtSongLine = function(SongID, SongName, Singer, IsBox, Idx, SongUrl, MidUrl){ //MidUrl中存在rayfile, 则替换SongUrl
if(MidUrl.indexOf('rayfile') < 0){
SongUrl = $.ajax({
type:'POST',
url:'http://www.songtaste.com/time.php',
cache:false,
data:'str='+MidUrl+'&sid='+SongID,
dataType:'html',
async:false
}).responseText;
}
//加入全局中
list.push({name:SongName,url:SongUrl});
}
//加入全局函数中
window.WrtSongLine = WrtSongLine; //打印,包含WrtSongLine函数的文本
var print = function(source){
//更新list为空
list = [];
var data ={
list:list
};
eval(source);
var htmlStr = template('showtpl',data);
$("#show").html(htmlStr);
};
var go = function(){
var ids = $("#ids").val();
if(ids == '' ){
alert("ids不能为空");
return;
}
ids = ids.trim();
$.ajax({
url:'http://www.songtaste.com/playmusic.php?song_id='+ids,
async: false,
dataType:'text',
type:'GET',
error:function(){
alert("请求数据失败");
},
success:function(data){
var source = data.match(/WrtSongLine.*/gmi);
//去除第一条
source.shift();
var script = source.join('');
print(script);
} });
}; $(function(){
//bind click
$("#go").click(go); });
})();
</script>
</head>
<body>
<div style="width:80%;margin-left:10%;">
<h3 >输入格式为: 1534606,2218413,3420496,3009756,1813717</h3>
<div class="input-group">
<input type="text" class="form-control" id="ids">
<span class="input-group-btn">
<button class="btn btn-default" type="button" id="go">Go!</button>
</span>
</div><!-- /input-group -->
</br>
</br>
</br>
<div id="show">
</div>
<!--输入list格式为 {name,url} -->
<script type="text/html" id="showtpl">
<table class="table table-striped">
<%for(var i = 0;i<list.length;++i){%>
<tr>
<td><%= list[i].name%></td>
<td><a href="<%= list[i].url %>" download="<%= list[i].name%>" >点击下载</a></td>
</tr>
<%}%>
</table>
</script>
</div>
</body>
</html>

SongTaste音乐下载器的更多相关文章

  1. 精品工具【音乐下载器(可下载VIP音乐)】

    工具信息 更新时间:2020年5月26日00点07分更新内容:1. 增加快捷键2. 细分下载列表清除功能一款可以下载付费音乐的音乐下载器 下载链接:https://nitian1207.lanzous ...

  2. 用python实现的百度音乐下载器-python-pyqt-改进版

    之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...

  3. [MFC] MFC音乐播放器 傻瓜级教程 网络 搜索歌曲 下载

    >目录< >——————————————————————< 1.建立工程  1.建立一个MFC工程,命名为Tao_Music 2.选择为基本对话框 3.包含Windows So ...

  4. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

    项目地址https://github.com/979451341/OpenSLAudio OpenSL ES 是基于NDK也就是c语言的底层开发音频的公开API,通过使用它能够做到标准化, 高性能,低 ...

  5. SE Springer小组之《Spring音乐播放器》可行性研究报告三、四

    3 对现有系统的分析 由于本次可行性分析主要是建立在团队自行实现一个音乐软件的目标上,并不是在一个现有系统的基础上开发改进的新系统.因此这里将分析一款市面上已经存在的音乐软件(以下称为W音乐),并为之 ...

  6. 卡拉OK效果的实现-iOS音乐播放器

    自己编写的音乐播放器偶然用到这个模块,发现没有思路,而且上网搜了搜,关于这方面的文章不是很多,没找到满意的结果,然后自己也是想了想,最终实现了这种效果,想通了发现其实很简单. 直接上原理: 第一种: ...

  7. 小菜学习Winform(二)WMPLib实现音乐播放器

    前言 现在网上有很多的音乐播放器,但好像都不是.net平台做的,在.net中实现音乐文件的播放功能很简单,下面就简单实现下. SoundPlayer类 在.net提供了音乐文件的类:SoundPlay ...

  8. Andriod小项目——在线音乐播放器

    转载自: http://blog.csdn.net/sunkes/article/details/51189189 Andriod小项目——在线音乐播放器 Android在线音乐播放器 从大一开始就已 ...

  9. Android开发6:Service的使用(简单音乐播放器的实现)

    前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service ...

随机推荐

  1. linux中fork()函数具体解释(原创!!实例解说)

     一.fork入门知识 一个进程,包含代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程差点儿全然同样的进程,也就是两个进程能够做全然同样的事,但假设初始參数或者传入的变量不 ...

  2. C#操作IIS完整解析

    原文:C#操作IIS完整解析 最近在为公司实施做了一个工具,Silverlight部署早已是轻车熟路, 但对于非技术人员来说却很是头疼的一件事,当到现场实施碰到客户情况也各不相同, 急需一个类似系统备 ...

  3. (大数据工程师学习路径)第三步 Git Community Book----Git基本用法(上)

    一.git的初始化 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名. $ git config --global user.name &quo ...

  4. android static达到Service与Activity于Handler沟通

    供static理解力,仅适用于static理解力,不喜勿喷 第一种方式:离Service中获取Activity的static变量,调用该静态变量的getHandler()获取Handler进行发送消息 ...

  5. GitHub版本控制

    版本控制-GitHub 前面几篇文章,我们介绍了Git的基本用法及Git服务器的搭建,本篇文章来学习一下如何使用GitHub.GitHub是开源的代码库以及版本控制库,是目前使用网络上使用最为广泛的服 ...

  6. ASP.NET MVC Boilerplate简介

    ASP.NET MVC Boilerplate简介 ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全.快速.强壮和适应性强的Web应用或站点.它在微软默认M ...

  7. Redux基础

    Redux 是一个状态容器 Redux 就像是作者自己的介绍,它不会为你提供任何的东西,它不会告诉你如何做路由,它只专注于应用程序状态,是一个 JavasSript 的状态容器,所有的状态的变化都是当 ...

  8. HDOJ 3037 Saving Beans

    如果您有n+1树,文章n+1埋不足一棵树m种子,法国隔C[n+m][m] 大量的组合,以取mod使用Lucas定理: Lucas(n,m,p) = C[n%p][m%p] × Lucas(n/p,m/ ...

  9. 纠错《COM技术内幕》之ProgID

    近期在看<COM技术内幕>,看到第六章时发现该章节在解释ProgID时有点错误,特此记录一下,也给正在学习COM的小伙伴们一个提示. 并且我发现该问题存在于一些非常多大型软件的COM组件中 ...

  10. UVA Getting in Line

    题目例如以下: Getting in Line  Computer networking requires that the computers in the network be linked. T ...