抓取方法来源于

其中酷狗与QQ来源于网络上的Meting.php

访问形式为GET

参数:

method

值:

netease //网易

tencent //QQ

kugou //酷狗

参数:

types

值:

search //搜索单曲曲名

lrc //获取歌词

detailed //网易云音乐与酷狗音乐单曲详细信息

hash //酷狗音乐单曲详细用到的hash

参数:

MusicId //网易云音乐ID//仅网易云音乐获取歌词与单曲详细信息用到

选填参数:

参数:

pagesize //酷狗音乐用到 一次取几条数据

参数:

p //页码 QQ音乐用到

n //一次取几条数据 QQ音乐用到

limit://一次取几条数据 网易云音乐用到

上代码

/**

* [httpRequest description]

* @param  [type] $sUrl    [url]

* @param  [type] $aHeader [aHeader]

* @param  [type] $aData   [请求数据]

* @return [type]          [json]

*/

function httpRequest($sUrl, $aHeader, $aData){

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_URL, $sUrl);

curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);

curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($aData));

$sResult = curl_exec($ch);

if($sError=curl_error($ch)){

die($sError);

}

curl_close($ch);

return $sResult;

}

//网易

function netease(){

if(!empty($_GET)){

switch($_GET['types']){

case 'search':

//搜索音乐

if(empty($_GET['name'])){

echo '{"msg":"参数缺失","code":"-1"}';

}

if(empty($_GET['limit'])){

$_GET['limit']=30;

}

//请求地址

$sUrl = 'http://music.163.com/api/search/get/web';

//post数据

$aData = array(

"s"=> $_GET['name'],

"csrf_token"=> "",

"type"=> 1,

"offset"=> 0, //从第几条数据开始取

"limit"=> $_GET['limit'],//返回条数

"total"=> true

);

//header数据

$aHeader = array('Referer: http://music.163.com/search/');

//curl请求

$sResult = httpRequest($sUrl, $aHeader, $aData);

//转数组

$aResData = json_decode($sResult, true);

foreach ($aResData['result']['songs'] as $key => $value) {

$aResData['result']['songs'][$key]['mUrl']='https://music.163.com/song/media/outer/url?id='.$value['id'].'.mp3';

}

//转json显示返回数据

$json=json_encode($aResData['result']['songs'], JSON_UNESCAPED_UNICODE);

$json=str_replace('\/','/',$json);

echo ($json);

break;

case 'lrc':

//歌词获取

$url='http://music.163.com/api/song/lyric?os=pc&id='.$_GET['MusicId'].'&lv=-1&kv=-1&tv=-1';

$html = file_get_contents($url);

$arrObj=json_decode($html,TRUE);

echo ($arrObj['lrc']['lyric']);

break;

case 'detailed':

//单曲详细信息获取

$url='http://music.163.com/api/song/detail?id='.$_GET['MusicId'].'&ids=%5B'.$_GET['MusicId'].'%5D';

$html = file_get_contents($url);

$arrObj=json_decode($html,TRUE);

$json=json_encode($arrObj['songs'], JSON_UNESCAPED_UNICODE);

$json=str_replace('\/','/',$json);

echo ($json);

break;

}

}

}

//腾讯

function tencent(){

switch($_GET['types']){

case 'search':

$w=$_GET['name'];

$p=1;

$n=30;

if(!empty($_GET['p'])){

$p=$_GET['p'];

}

if(!empty($_GET['n'])){

$n=$_GET['n'];

}

$url='https://c.y.qq.com/soso/fcgi-bin/client_search_cp?';

$url.='p='.$p.'&n='.$n.'&w='.$w.'&aggr=1&lossless=1&cr=1&new_json=1';

$html = file_get_contents($url);

//删除影响转为数组的文本

$html = str_replace('callback(','',$html);

$html = str_replace(')','',$html);

$html = str_replace('','',$html);

$html = str_replace('','',$html);

//转数组

$arrObj=json_decode($html,TRUE);

//转json显示返回数据

$json=json_encode($arrObj['data']['song']['list'], JSON_UNESCAPED_UNICODE);

$json=str_replace('\/','/',$json);

echo ($json);

break;

}

}

//酷狗

function kugou(){

switch($_GET['types']){

case 'search':

$pagesize=30;

if(!empty($_GET['pagesize'])){

$pagesize=$_GET['pagesize'];

}

$url='http://mobilecdn.kugou.com/api/v3/search/song?api_ver=1&area_code=1&correct=1&pagesize='.$pagesize.'&plat=2&tag=1&sver=5&showtype=10&page=1&keyword='.$_GET['name'].'&version=8990';

$html = file_get_contents($url);

$arrObj=json_decode($html,TRUE);

$json=json_encode($arrObj['data']['info'], JSON_UNESCAPED_UNICODE);

echo ($json);

break;

case 'detailed':

if(empty($_GET['hash'])){

echo '{"msg":"参数缺失","code":"-1"}';

}

$url='http://www.kugou.com/yy/index.php?r=play/getdata&hash='.$_GET['hash'];

$html = file_get_contents($url);

$arrObj=json_decode($html,TRUE);

$json=json_encode($arrObj['data'], JSON_UNESCAPED_UNICODE);

$json=str_replace('\/','/',$json);

$json=str_replace('\r','',$json);

$json=str_replace('\n','',$json);

echo ($json);

break;

}

}

if(empty($_GET['method'])||empty($_GET['types'])){

echo '{"msg":"参数缺失","code":"-1"}';

}else {

switch($_GET['method']){

case 'netease':

netease();

break;

case 'tencent':

tencent();

break;

case 'kugou':

kugou();

break;

}

}

?>

标签: php

顶一下

(111)

91.7%

踩一下

(10)

8.3%

php计算QQ音乐guid,php实现网易云音乐 QQ音乐 酷狗音乐直链获取 搜索音乐及歌词...相关推荐

  1. 怎么在网易云或者QQ音乐上上传自己翻唱的歌

    假期无聊,在全民K歌上唱了几首歌,有朋友想下载来听,我就找了一下怎么将翻唱的歌曲上传到网易云或者QQ音乐.就弄了一下,发现目前只能做到自己听,其他人搜索不到(可以直接把音频发给其他人下载保存)看看以后 ...

  2. 网易云与QQ音乐共享了99%乐库,那么这个工具解决剩下的百分之一--SDMUSIC(开源命令行音乐搜索下载软件)...

    4-17 修复qq音乐平台无法下载的BUG 4-15 修改了部分BUG,美化了结果输出.非常感谢raawaa. 新增(3-5) 批量下载UK榜,美国Billboard周榜,Beatport全球电子舞曲 ...

  3. 极客日报:日本的首颗 5nm 芯片公布;虾米音乐正式关停;网易云音乐再次喊话酷狗...

    一.互联网快讯 1.虾米音乐正式关停 一个月前,虾米音乐发布官方声明表示,虾米音乐2月5日关停:3月5日0点后除网页端音乐人授权服务维持运营,其他运营均停止并关闭服务器,届时及以后将无法登录. 目前进 ...

  4. 极客日报第 67 期:日本的首颗 5nm 芯片公布;虾米音乐正式关停;网易云音乐再次喊话酷狗

    文章目录 一.互联网快讯 二.程序员专属 三.Github 每日精选 四.CSDN 社区优质博文精选 一.互联网快讯 1.虾米音乐正式关停 一个月前,虾米音乐发布官方声明表示,虾米音乐2月5日关停:3 ...

  5. ubuntu18.10安装网易云音乐,并解决网易云音乐图标无法启动的问题

    ubuntu18.10安装网易云音乐,并解决网易云音乐图标无法启动的问题 ubuntu18.10安装网易云音乐 解决网易云音乐图标无法启动的问题 ubuntu18.10安装网易云音乐 网易云音乐官网下 ...

  6. 网易云音乐管理系统c语言,网易云音乐v2.5.3.197601官方版

    网易云音乐v2.5.3.197601官方版是一款专注于发现与分享的音乐播放器,网易云音乐操作简单便捷,你可以使用它来听自己喜欢的高品质音乐.不仅如此网易云音乐还有着很多特色的功能,为大家提供个性化推荐 ...

  7. 在线音乐哪个支持linux,网易云音乐上线国内在线音乐应用中首个Linux版

    原标题:网易云音乐上线国内在线音乐应用中首个Linux版 最近,国内Linux用户乐开了花,因为他们终于可以在Linux系统内听在线音乐了. 5月25日,网易云音乐Linux版正式上线,这也是国内在线 ...

  8. 虾米播播音乐墙html,WordPress音乐播放器插件Hermit X(支持网易云、QQ音乐、虾米等)...

    Hermit X,使用 APlayer 前端播放器,Meting Framework & LWL API 后端支持的全新 WordPress 播放器 现已问世! 特性 支持直接调用网易云音乐. ...

  9. 牛皮!竟然有大佬基于 Spring Boot + Vue 开发了一套网易云amp;QQ音乐(附源码)。。。...

    来源:segmentfault.com/a/1190000021376934 # 前言 虽然 B/S 是目前开发的主流,但是 C/S 仍然有很大的市场需求.受限于浏览器的沙盒限制,网页应用无法满足某些 ...

最新文章

  1. php可以定义数组的常量吗
  2. rtsp发送主流和辅流
  3. 软件分享大会之Bonny使用感想
  4. ASCII码对照表(不可见字符)
  5. Android Studio开发基础之Activity之间参数传递
  6. E1 PCM复用设备作用
  7. 时间序列趋势分解 seasonal_decompose
  8. 《统计学习方法》代码全解析——第十三部分无监督学习概论
  9. d2rq java,知识图谱学习与实践(6)——从结构化数据进行知识抽取(D2RQ介绍)...
  10. robotium例子
  11. 移动支付深入我们的生活,行业态势又如何?
  12. 人生感悟:欲望适度则为利,欲望过度则为害
  13. deeplabv3+ 跑 cityscape 数据集
  14. liunx命令大全建议粘贴到word文档可方便查询
  15. 金山毒霸11,更新内容,问题修复了什么?
  16. Java集成融云服务端
  17. 【EasyExcel导入、导出(百万数据量测试)粘贴即用】
  18. 走近计算机,走进二进制,爪哇国的诞生
  19. MarkDown渲染无法显示
  20. C:\KEIL\C51\intrins.h包含不正确的路径。Keil 头文件路径错误

热门文章

  1. @PreAuthorize注解
  2. web前端:main、header、footer、nav、article、section标签的用法
  3. [ZT]程序员的用户界面设计手册1-9章(作者: Joel Spolsky 译: 梅普华 MSWord繁简转换)
  4. Matlab:动态正则表达式
  5. 获取钉钉花名册接口和枚举类
  6. 2.<tag-二叉树和层序遍历相关题>-lt.116. 填充每个节点的下一个右侧节点指针 + lt.117. 填充每个节点的下一个右侧节点指针 II 1
  7. lol观战服务器中未能,lol观战服务器数据请求失败的解决方法
  8. 用计算机牙模,取模制作戴牙一次搞定 患者分不出真牙假牙
  9. Python 读写文件详解 with open() as
  10. Java面试大厂名企高频真题--02并发篇