[php]网易云音乐下载
本帖最后由 止语 于 2019-1-24 15:43 编辑本想爬虫去爬取网易云音乐的,可是技术没到家,没搞成...
查看过网上的爬虫的那些方法也就有了这个很笨的方法...写这个也就是懒得在电脑上下载网易云客户端...
我知道网上的音乐获取的很多,不过没看懂- - !
还在学习中...一起加油呀
放到服务器的话下载很快,本地的话比较慢..这里就不贴演示地址了(服务器太小了...)
需要的可以拿走玩玩哦
代码如下
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>网易云音乐下载--止语</title>
<link rel="shortcut icon" href="//s1.music.126.net/style/favicon.ico?v20180823">
<script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
<script src="./jquery-1.11.3.min.js"></script>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet"integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<style>
.container-fluid{
background:#E5E7E9;
}
.container{
height:35px;
line-height:35px;
}
.y_title{
font-size:25px;
}
.idwt{
height:20px;
line-height:20px;
}
p a{
font-size:30px;
}
@media only screen and (max-width:768px) {
.bj {
min-height:600px;
background:url(./bj.jpg);
background-repeat:no-repeat;
background-size:768px;
}
}
@media only screen and (min-width:768px) and (max-width:992px) {
.bj {
min-height:1200px;
background:url(./bj.jpg);
background-repeat:no-repeat;
background-size:992px;
}
}
@media only screen and (min-width:992px) and (max-width:9999px) {
.bj {
min-height:1200px;
background:url(./bj.jpg);
background-size:1920px 1200px;
}
}
/*.bj{
background:url(./bj.jpg);
background-size:100% 100%;
}*/
</style>
</head>
<body>
<div class="container-fluid">
<div class="container">
<div class="row">
<div class="col-md-3 y_title">网易云音乐下载</div>
</div>
</div>
</div>
<div class="row bj">
<div class="col-md-4 col-md-offset-4">
<form action="?mod=xz" method="post">
<div class="form-group">
<label for="exampleInputEmail1">音乐ID</label>
<input type="text" class="form-control" name="id" id="exampleInputEmail1" placeholder="音乐ID">
</div>
<button type="submit" class="btn btn-info btn-lg btn-block">下载</button>
</form>
<p>
<?php
$yy = $_GET['mod'];
if($yy == 'xz'){
$id = $_POST['id'];
if(!empty($id)){
if(is_numeric($id) && strlen($id) > 4){
$file = "./music/".$id.".mp3";
$music_name = "".$id.".mp3";
if(!file_exists($file)){
$url = "http://music.163.com/song/media/outer/url?id=".$id.".mp3";
$mp3 = file_get_contents($url);
if(!empty($mp3) && !is_null(strlen($mp3))){
$fp = fopen($file, "w");
$cg = fwrite($fp,$mp3);
fclose($fp);
if(!empty($cg)){
echo"<a href='".$file."' download='".$music_name."'>资源准备好啦,戳我下载吧</a>";
}
}else{
echo"<script>alert('无ID:".$id."的歌曲,请检查ID是否正确')</script>";
}
}else{
echo"<a href='".$file."' download='".$music_name."'>资源准备好啦,戳我下载吧</a>";
}
}else{
echo "<script>alert('请输入正确的ID')</script>";
}
}else{
echo"<script>alert('ID不能为空')</script>";
}
}
?>
</p>
<blockquote class="bs-callout-info">
关于ID,请前往<atarget="_blank">http://music.163.com</a>获取
</blockquote>
<button type="button" class="btn btn-success btn-block" data-toggle="modal" data-target=".bs-example-modal-lg">点击查看获取歌曲ID的方法</button>
<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<h4 class="text-center" style="font-weight:bold;">获取ID方法</h4><hr/>
<p class="" style="font-size:20px;">前往网易云音乐(<atarget="_blank">http://music.163.com</a>)搜索想要下载的歌曲,进入歌曲页面,在地址栏查看歌曲的ID,复制过来就好啦~</p>
<img src="./wyy.png" alt="id示例" width="100%"/>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
var aBtn = document.getElementsByTagName("button")
var aP = document.getElementsByTagName("p")
aBtn.onclick = function(){
aP.innerHTML = "<span class='glyphicon glyphicon-cd'>正在准备资源,请稍等....</span>"
}
</script>
</html>
多谢大佬指出不足
附件里面的代码也更新了一下其实附件下不下无所谓也就是多个背景图,各位找一下就好了
止语 发表于 2019-1-11 08:20
有什么问题呢
if(!empty($mp3) && is_null(strlen($mp3))){这一句
不是应该if(!empty($mp3) && !is_null(strlen($mp3))){嘛?
好好看看你的逻辑啊 adm286 发表于 2019-1-24 14:31
https://music.163.com/#/song?id=28287132
ID错误,,楼主修正下呢。
恩恩现在可以啦复制帖子里的代码替换 就好了:Dweeqw多谢 提醒哈 我测试你说的这个歌曲现在没问题了 你可以再试试呢 来个鲜花吧,没分了 AminiGeass 发表于 2019-1-10 20:42
来个鲜花吧,没分了
感谢支持 :Dweeqw 可以下无损吗 感谢大佬分享 涂抹记忆 发表于 2019-1-10 20:59
可以下无损吗
可以试试哦 测试了会员什么的都可以下载的 学习了这个 支持一下,谢谢分享。 源码有问题啊 哥 你没好好看看里面的内容嘛?