SongTaste音乐下载器
Songtaste是一个非常好的音乐推荐网站, 奈何和duomi搅合在一起, 导致下载音乐非常的麻烦, 现在写了一个简单的"下载器", 通过它可以下载给定音乐ID,来下载具体的音乐.
ID来自
红色方块内的id编码,
注意使用google浏览器或者其他的时候, 注意跨域ajax调用的限制, Google 为启动参数添加--disable-web-security.
打开网页:
点击下载 就可以下载了~
如下是代码:
1 <html> 2 <head> 3 <!-- 新 Bootstrap 核心 CSS 文件 --> 4 <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap.min.css"> 5 6 <!-- 可选的Bootstrap主题文件(一般不用引入) --> 7 <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"> 8 9 <!-- jQuery文件。务必在bootstrap.min.js 之前引入 --> 10 <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script> 11 12 <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> 13 <script src="http://cdn.bootcss.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 14 15 <!--arttemplate--> 16 <script type="text/javascript" src="https://rawgithub.com/aui/artTemplate/master/dist/template-native-debug.js"></script> 17 <script> 18 (function(){ 19 window.list = []; 20 var WrtSongLine = function(SongID, SongName, Singer, IsBox, Idx, SongUrl, MidUrl){ 21 22 //MidUrl中存在rayfile, 则替换SongUrl 23 if(MidUrl.indexOf('rayfile') < 0){ 24 SongUrl = $.ajax({ 25 type:'POST', 26 url:'http://www.songtaste.com/time.php', 27 cache:false, 28 data:'str='+MidUrl+'&sid='+SongID, 29 dataType:'html', 30 async:false 31 }).responseText; 32 } 33 //加入全局中 34 list.push({name:SongName,url:SongUrl}); 35 } 36 //加入全局函数中 37 window.WrtSongLine = WrtSongLine; 38 39 //打印,包含WrtSongLine函数的文本 40 var print = function(source){ 41 //更新list为空 42 list = []; 43 var data ={ 44 list:list 45 }; 46 eval(source); 47 var htmlStr = template('showtpl',data); 48 $("#show").html(htmlStr); 49 }; 50 var go = function(){ 51 var ids = $("#ids").val(); 52 if(ids == '' ){ 53 alert("ids不能为空"); 54 return; 55 } 56 ids = ids.trim(); 57 $.ajax({ 58 url:'http://www.songtaste.com/playmusic.php?song_id='+ids, 59 async: false, 60 dataType:'text', 61 type:'GET', 62 error:function(){ 63 alert("请求数据失败"); 64 }, 65 success:function(data){ 66 var source = data.match(/WrtSongLine.*/gmi); 67 //去除第一条 68 source.shift(); 69 var script = source.join(''); 70 print(script); 71 } 72 73 }); 74 }; 75 76 $(function(){ 77 //bind click 78 $("#go").click(go); 79 80 }); 81 })(); 82 </script> 83 </head> 84 <body> 85 <div style="80%;margin-left:10%;"> 86 <h3 >输入格式为: 1534606,2218413,3420496,3009756,1813717</h3> 87 <div class="input-group"> 88 <input type="text" class="form-control" id="ids"> 89 <span class="input-group-btn"> 90 <button class="btn btn-default" type="button" id="go">Go!</button> 91 </span> 92 </div><!-- /input-group --> 93 </br> 94 </br> 95 </br> 96 <div id="show"> 97 </div> 98 <!--输入list格式为 {name,url} --> 99 <script type="text/html" id="showtpl"> 100 <table class="table table-striped"> 101 <%for(var i = 0;i<list.length;++i){%> 102 <tr> 103 <td><%= list[i].name%></td> 104 <td><a href="<%= list[i].url %>" download="<%= list[i].name%>" >点击下载</a></td> 105 </tr> 106 <%}%> 107 </table> 108 </script> 109 </div> 110 </body> 111 </html>