我用最独特的方式为情人节准备了这些。。。

原创文|Space9

虽然不一样的专业 但也无法阻挡我们之间心的靠近
同样的呼吸 同样的心 吸引着我们走向了彼此
我们的相遇是如此的传奇 因为你 有了不一样的改变
每天的生活变得更加快乐 人生目标也坚定了许多
遇见你是我一生最美的幸运
在你的陪伴下 我加入了全民K歌 唱出了自己
情人节我为你准备了这些 希望你能喜欢这个独特的方式

实现过程

基础部分

文件目录结构
favicon.ico      //网站头像文件
index.html       //网站首页文件
jquery.min.js   // jQuery库文件
jsUrlHelper.js  //网址参数的解析文件

2018-02-13_172457.png

  • 新建index.html文件
    桌面新建文本文档,修改文件名为index.html,接着就开始我们的开发工作啦
    之间设置网站标题,background后面设置背景图片地址
<!DOCTYPE html>
<html>
 <head> 
  <meta charset="utf-8" /> 
  <title>全民K歌歌曲下载</title> 
 </head> 
 <body background="http://www.w3school.com.cn/i/eg_bg_06.gif">
   用户主页: 
  <input type="text" id="homePage" placeholder="输入网址" autofocus="autofocus" /> 
  <input type="button" id="btn" value="确定" onclick="myfunction()" />  
 </body>
</html>
  • 添加favicon(网站头像) 网址前面的小图标
    将下面的代码,添加在之间就可以了
<link href="favicon.ico" mce_href="favicon.ico" rel="bookmark" type="image/x-icon" /> 
<link href="favicon.ico" mce_href="favicon.ico" rel="icon" type="image/x-icon" /> 
<link href="favicon.ico" mce_href="favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
  • 引入网站需要的js库文件
    将下面的代码,同样添加在之间,并将两个文件放置到与index.html文件相同的目录
<script src="./jquery.min.js?=2.1.4"></script> 
<script src="./jsUrlHelper.js"></script> //URL网址的解析库文件,引用自网上 
  • 添加键盘Enter键的响应动作
    原始只能通过鼠标点击确定,所以我们为键盘点击添加动作
document.onkeydown = function (e) {
	var theEvent = window.event || e;
	var code = theEvent.keyCode || theEvent.which;
	if (code == 13) {
		$("#btn").click();
	}
}

核心部分

  • 通过用户点击确定按钮,触发myfunction来解析URL,获取其中的参数uid的值
var userId;
var myfunction = function(){
	urlUid=document.getElementById("homePage").value; //从页面获取用户主页地址
	userId=jsUrlHelper.getUrlParam(urlUid,"uid"); //通过URL解析库获取参数uid值
	fun();
}
  • 利用ajax向接口发送get请求,并设定dataType为jsonp,以及回调函数名为MusicJsonCallback(必须设定为这个名称,因为这是接口自带的返回数据参数),来获取用户主页的歌曲列表
var more_flag=1;
var index=1;
var fun = function() {
	if (more_flag==1) {
		var src = "http://node.kg.qq.com/cgi/fcgi-bin/kg_ugc_get_homepage?type=get_uinfo&start="+index+"&num=8&share_uid="+userId;
		$.ajax({
					type: "GET",
					url: src,
					dataType: "jsonp",  //指定服务器返回的数据类型
					jsonpCallback: "MusicJsonCallback",  //指定回调函数名称
				}).done(function(data) {
					more_flag=data.data.has_more; //默认一页加载8首歌,查看是否还有下一页
					index++;
					fun();
				}).fail(function() {
					console.log("error");
				})
	} else {
		console.log(num); //显示加载的总歌曲数量
	}
}
  • 按照接口形式拼接url播放地址
var num=0;
function MusicJsonCallback (data) {
	for(i=0;i<data.data.ugclist.length; i++){
		var url ="http://node.kg.qq.com/cgi/fcgi-bin/fcg_get_play_url?shareid=" + data.data.ugclist[i].shareid;
		num++;
	}
}
  • 获得播放地址之后,在页面动态添加audio标签和p标签,显示歌曲列表
var p = document.createElement('p');//创建p节点
p.innerHTML = (num+1)+": "+data.data.ugclist[i].title;//p节点显示歌曲名称
var audio = document.createElement('audio'); //生成一个audio元素 
audio.controls = true; //向用户显示控件,比如播放按钮
audio.src = url; //音乐的路径 
audio.preload = "none"; //规定是否预加载音频,none表示当页面加载后不载入音频
document.body.appendChild(p); //把p添加到页面中
document.body.appendChild(audio); //把audio添加到页面中

到这里就已经全部设计完成,下面是成果展示及使用说明

成果展示

使用说明

  • 首先你得先在电脑上进入全民K歌官网并登录
  • 然后复制全民K歌主页地址,粘贴到这个网站
  • 接着点击确定,即可预加载歌曲列表
  • 最后选择要下载的歌曲,点击播放之后,就可以看到下载按钮。

源码交流

您可以Fork我的项目

如果你不是专业人士,这里我还提供了直接下载的方式
链接: https://n802.com/file/20114131-372999314

本文仅为个人学习使用,不得用于任何商业用途,否则后果自负!如侵犯到您的权益,请及时通知我,我会及时处理。

文尾标记

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值