<?php /** *@authorYoungxj *@time2018年6月22日 *@todo利用酷狗歌单进行获取酷狗歌曲信息 */ // 访问短网址出现的地址 // http://m.kugou.com/share/zlist.html?u=25230245&h1=142560927507380788791872687420293028022&h2=da7ce5776afd5fdba03daa05f4a19860&listid=25&uid=25230245&type=0&_t=1528116907&token=2b631b0f122f5dc5c0ca758374c4d190eb8bde2ea382bf7a29bacfd5bb439489&sign=c0c7fe2caee03445b51bf8961308174b&chl=qq_client // 歌单列表接口 // http://m.kugou.com/zlist/list?listid=25&type=0&uid=25230245&sign=c0c7fe2caee03445b51bf8961308174b&_t=1528116907&pagesize=30&json=&page=1&token=2b631b0f122f5dc5c0ca758374c4d190eb8bde2ea382bf7a29bacfd5bb439489 // 关键值 uid sign _t token listid type // 获取歌曲信息的接口 // http://m.kugou.com/app/i/getSongInfo.php?hash=348CE533CE66E6DCEDA4A9FD63AB6D86&cmd=playInfo&is_share=1 # 设置json格式 header('Content-type: application/json'); #缓存文件名(最好使用json文件格式) $fileName = 'data.json'; # 酷狗歌单分享出来的短网址 $kgUrl = "http://t.kugou.com/1md5hf5t8V2"; file_get_contents($kgUrl); # 获取歌单访问后302跳转的header头信息 $responseInfo = $http_response_header; # 第五条记录为Location跳转地址里面包含多个关键值 $local = $responseInfo['5']; # 下面是蹩脚正则取值 // uid(疑似用户id) $zz_uid = "/uid=(.*?)&/"; preg_match($zz_uid,$local,$uid); // sign $zz_sign = "/sign=(.*?)&/"; preg_match($zz_sign,$local,$sign); // _t $zz_t = "/_t=(.*?)&/"; preg_match($zz_t,$local,$t); // listid(疑似歌单id) $zz_listid = "/listid=(.*?)&/"; preg_match($zz_listid,$local,$listid); // type $zz_type = "/type=(.*?)&/"; preg_match($zz_type,$local,$type); // token $zz_token = "/token=(.*?)&/"; preg_match($zz_token,$local,$token); //echo '
'; # 把取到的值变量定义 $uid = $uid['1']; $sign = $sign['1']; $t = $t['1']; $listid = $listid['1']; $type = $type['1']; $token = $token['1']; # 这里是呼应后面文本缓存的 # 主要是判断文本缓存中的token是否与当前获取的token是否一致 # 如果一致则读取文本缓存的json # 如果不一致则使用后面的获取最新 # 继续写入文本缓存 if(is_file($fileName)){ $dataJson = file_get_contents($fileName); $dataJsons = json_decode($dataJson,1); if($token == $dataJsons['token']){ echo $dataJson; exit(); } } # 这个地址是获取歌单列表里有多少歌 $listUrl = 'http://m.kugou.com/zlist/list?listid='.$listid.'&type='.$type.'&uid='.$uid.'&sign='.$sign.'&_t='.$t.'&pagesize=30&json=&page=1&token='.$token; $list = file_get_contents($listUrl); //var_dump($list); $lists = json_decode($list,1); # 统计歌单歌曲总数 $coun = count($lists["list"]["info"]); $arr = array('token'=>$token); for ($i=0; $i < $coun; $i++) { # 利用前面歌单列表取到的hash # 进行二次临时歌曲地址寻找 $hash = $lists["list"]["info"][$i]['hash']; $getSongInfoUrl = 'http://m.kugou.com/app/i/getSongInfo.php?hash='.$hash.'&cmd=playInfo&is_share=1'; $get = file_get_contents($getSongInfoUrl); $getjson = json_decode($get,1); $arr[$i] = $getjson; } # 到这里已经能正常输出歌单里所有歌曲的信息 echo $data_json = json_encode($arr,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); # 后面的为文本进行缓存的技术 $myfile = fopen($fileName, "w") or die("无法打开文件,请确定是否有权限编辑文件"); $txt = $data_json; fwrite($myfile, $txt); fclose($myfile);

php获取酷狗mv播放链接,酷狗歌单获取歌曲信息的接口源码相关推荐

  1. 2023 API酷狗音乐MV直链解析接口源码

    源码介绍: 酷狗音乐MV解析api接口源码,可搜索输出封面图,MV名字,MV作者,MP4播放直链. 调用参数: 域名/kg_mv.PHP?msg=9420

  2. 获取网易云音乐播放链接

    获取网易云音乐播放链接 首先打开网易云音乐官网,搜索自己喜欢的歌曲. 然后按F12打开开发者工具. 按F5刷新一下页面后,依次点击Network.XHR. 在Name下找到v1?csrf_token= ...

  3. 米酷影视直播二开全修复版增加在线充值影视资源网站源码

    [亲测修复版]十月最新米酷影视直播二开全修复版增加在线充值影视资源网站源码自带采集无需手动更新+视频搭建教程 米酷影视这个前两天和大家发过一个版本,当时也说给大家录教程,不过那个没有接在线充值,有会员 ...

  4. Java 使用HttpURLConnection获取网易云(我喜欢的音乐)歌单内歌曲

    Java 使用HttpURLConnection获取网易云(我喜欢的音乐)歌单歌单内歌曲 1.HttpURLConnection简介 2.前期准备 2.1 目标url 2.2 歌曲ID获得 2.3 u ...

  5. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  6. python 爬虫爬取下载网易云音乐歌单的歌曲(需要使用JS的加密方法得出params去获取下载地址)

    要点:1.js加密就是麻烦,只能百度寻找了!设计的加密模块binascii.Crypto.base64 2.requests.Session的用法,可以指定headers.cookies 3.可以用s ...

  7. php天气源码_PHP获取城市天气API接口源码

    PHP获取城市天气API接口源码,接口调用的是微鲤的接口,2020年9月1日 10:11:07测试接口还可以正常使用. API查询接口代码<?php function tian(){ $city ...

  8. java编程手机gps定位_GPS 获取Gps定位信息的Android源码实例,通过这个JAVA 目,你可能学会GPS在 手机 238万源代码下载- www.pudn.com...

    文件名称: GPS下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 59 KB 上传时间: 2013-04-08 下载次数: 22 详细说明:获取Gps定位信息的A ...

  9. android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码...

    Android精选源码 灵活的ShadowView,可替代CardView使用 基于Tesseract-OCR实现自动扫描识别手机号 Android播放界面仿QQ音乐开源音乐播放器 新闻应用项目采用了 ...

最新文章

  1. Python-从视频到gif(imageio,moviepy,ffmpeg)
  2. Oracle-PL/SQL语法基础
  3. 025_CSS框模型概述
  4. 播放图像有锯齿_反隔行操作
  5. 化学专业计算机课程设计,分析化学专业课程设计.doc
  6. 阻塞、非阻塞与同步、异步的区别
  7. hadoop环境搭建遇到的问题:-bash: jps: command not found
  8. linux设备资源分配,基于Linux 简化 AMP 配置使其更方便更动态地分配资源
  9. UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xe7‘ in position 295: illegal multibyte seq
  10. 获取浏览器唯一标识_探讨浏览器指纹
  11. 解决许可证兼容性问题,Ubuntu 内核将内置 ZFS
  12. java定时器与ThreadLocal编程陷阱
  13. 米思齐_米思齐公益培训之交互式图形设计与数据分析圆满落幕
  14. 服务器装不上无线网卡代码10,win10专业版无线网卡出现错误代码10怎么办?
  15. 抖音小程序是什么_如何开发抖音小程序
  16. 天津滨海农商银行数据脱敏建设实践
  17. 向大家推荐Ubuntu下九大最佳绘图程序
  18. 常见的互联网名词 O2O、B2B、C2C等
  19. API_Application
  20. ⼤⼚H5 开发概述-H5 开发及其前世今⽣

热门文章

  1. ilk,pch,pbd,obj,idb,pdb这些扩展名的意思
  2. DDR4中的so-dimm 和component
  3. 基于ssm工商学院办公用品管理信息系统设计与实现-计算机毕业设计源码+LW文档
  4. pandas的get_dummies
  5. 【个人笔记】《知了堂》ajax的get及post请求
  6. Android预装可卸载apk方法 卸载后恢复出厂设置可恢复
  7. STM32物联网套件基础版05-外部中断
  8. Geogebra下载【linux,MacOS,windows,iOS, Android】
  9. 05- WMTS服务发布
  10. 星际增强系统相关资料获取