SongTaste音乐下载器
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音乐下载器的更多相关文章
- 精品工具【音乐下载器(可下载VIP音乐)】
工具信息 更新时间:2020年5月26日00点07分更新内容:1. 增加快捷键2. 细分下载列表清除功能一款可以下载付费音乐的音乐下载器 下载链接:https://nitian1207.lanzous ...
- 用python实现的百度音乐下载器-python-pyqt-改进版
之前写过一个用python实现的百度新歌榜.热歌榜下载器的博文,实现了百度新歌.热门歌曲的爬取与下载.但那个采用的是单线程,网络状况一般的情况下,扫描前100首歌的时间大概得到40来秒.而且用Pyqt ...
- [MFC] MFC音乐播放器 傻瓜级教程 网络 搜索歌曲 下载
>目录< >——————————————————————< 1.建立工程 1.建立一个MFC工程,命名为Tao_Music 2.选择为基本对话框 3.包含Windows So ...
- Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)
项目地址https://github.com/979451341/OpenSLAudio OpenSL ES 是基于NDK也就是c语言的底层开发音频的公开API,通过使用它能够做到标准化, 高性能,低 ...
- SE Springer小组之《Spring音乐播放器》可行性研究报告三、四
3 对现有系统的分析 由于本次可行性分析主要是建立在团队自行实现一个音乐软件的目标上,并不是在一个现有系统的基础上开发改进的新系统.因此这里将分析一款市面上已经存在的音乐软件(以下称为W音乐),并为之 ...
- 卡拉OK效果的实现-iOS音乐播放器
自己编写的音乐播放器偶然用到这个模块,发现没有思路,而且上网搜了搜,关于这方面的文章不是很多,没找到满意的结果,然后自己也是想了想,最终实现了这种效果,想通了发现其实很简单. 直接上原理: 第一种: ...
- 小菜学习Winform(二)WMPLib实现音乐播放器
前言 现在网上有很多的音乐播放器,但好像都不是.net平台做的,在.net中实现音乐文件的播放功能很简单,下面就简单实现下. SoundPlayer类 在.net提供了音乐文件的类:SoundPlay ...
- Andriod小项目——在线音乐播放器
转载自: http://blog.csdn.net/sunkes/article/details/51189189 Andriod小项目——在线音乐播放器 Android在线音乐播放器 从大一开始就已 ...
- Android开发6:Service的使用(简单音乐播放器的实现)
前言 啦啦啦~各位好久不见啦~博主最近比较忙,而且最近一次实验也是刚刚结束~ 好了不废话了,直接进入我们这次的内容~ 在这篇博文里我们将学习Service(服务)的相关知识,学会使用 Service ...
随机推荐
- <%%>创建内联代码块(表达)
其实<%%>很早之前见过它,将一个小的功能仅.别人不理解.今天偶尔,我们看到它的真面目,今天,给大家分享. 语法 代码块呈现(<%%>)定义了当呈现页时运行的内联代码或内联表达 ...
- TextView——setCompoundDrawables说明
Drawable drawable = mContext.getResources().getDrawable(R.drawable.duringtime); drawable.setBounds( ...
- ArrayList实现根据某属性大小相间排序
Java本身提供了一个集合的帮助类java.util.Collections,提供了对集合操作一些方法,借助于此类提供的sort方法可以实现对List进行排序操作 import java.util.A ...
- Javascript学习5 - 函数
原文:Javascript学习5 - 函数 在Javascript中,函数和对象是交织在一起的.有些函数的特性与对象相关联.这一点的内容在第六部分会讨论到. 这一部分主要讨论函数与其它比较熟悉的语言( ...
- Codeforces Round #272 (Div. 1)D(字符串DP)
D. Dreamoon and Binary time limit per test 2 seconds memory limit per test 512 megabytes input stand ...
- POJ 2352 && HDU 1541 Stars (树状数组)
一開始想,总感觉是DP,但是最后什么都没想到.还暴力的交了一发. 然后開始写线段树,结果超时.感觉自己线段树的写法有问题.改天再写.先把树状数组的写法贴出来吧. ~~~~~~~~~~~~~~~~~~~ ...
- docker study
Author:Hyphen 同步公布在个人博客中:http://yanheven.github.io/docker-study/ 參考章宇兄的开源项目学习ABC的方法来对docker进行简单的学习与分 ...
- javascript系列之DOM(三)---事件
原文:javascript系列之DOM(三)---事件 事件是javascript跳动的心脏,是DOM所有成分结合的万金油.当我们在WEB 上进行某些交互时,事件也就发生了.点击某些内容,鼠标经过特定 ...
- oracle_深刻理解数据库的启动和关闭
Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...
- txt 开关 csv 可通用 工具
Ruby Txt 开关 CSV 常用工具 to require 'csv' namespace :sys_file_conver do desc "把txt数据导入到csv中" t ...