酷狗mv采集php,PHP酷狗音乐采集类
PHP酷狗音乐采集类
发表于 2015-12-24 / 3317 次围观
php
/**
* 酷狗API类
* @author Flc <2015-08-27 22:51:24>
*/
$kugou =new kugou();
$lists = $kugou->getList('儿歌');
print_r($lists);
$music = $kugou->getMusic('2dc67062d830de3b60b7e4b09820e062');
print_r($music);
print_r($music['url']);
class kugou{
const LIST_URL ='http://lib9.service.kugou.com/websearch/index.php?page={page}&keyword={keyword}&cmd=100&pagesize={pagesize}';
const MUSIC_URL ='http://m.kugou.com/app/i/getSongInfo.php?hash={hash}&cmd=playInfo';
protectedstatic $http =null;
/**
* 初始化
*/
function __construct(){
if(self::$http ==null)self::$http =new http();
}
/**
* 获取列表
* @param string $keyword 关键字
* @param integer $page 当前页
* @param integer $pagesize 每页获取数量
* @return array|false
*/
publicfunction getList($keyword, $page =1, $pagesize =10){
$url = str_replace(array('{page}','{keyword}','{pagesize}'), array($page, $keyword, $pagesize),self::LIST_URL);
$json =self::$http->http_gets($url);
if(!$json)returnfalse;
$resp = json_decode($json,true);
return $resp;
}
/**
* 获取音乐地址
* @param string $hash 音乐hash码
* @return string|false
*/
publicfunction getMusic($hash){
$url = str_replace(array('{hash}'), array($hash),self::MUSIC_URL);
$json =self::$http->http_gets($url);
if(!$json)returnfalse;
$resp = json_decode($json,true);
return $resp;
}
}
/**
* http请求类
* @author Flc <2015-08-27 22:51:47>
*/
class http{
/**
* 服务器通过get请求获得内容
* @param string $baseURL 基础URL
* @param array $keysArr 请求参数
* @return string [description]
*/
publicstaticfunction http_gets($baseURL, $keysArr = array()){
$url =self::combineURL($baseURL, $keysArr);
$ch = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSLVERSION,1);//CURL_SSLVERSION_TLSv1
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$sContent = curl_exec($ch);
$aStatus = curl_getinfo($ch);
curl_close($ch);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
returnfalse;
}
}
/**
* post方式请求资源
* @param string $url 基于的baseUrl
* @param array $keysArr 请求的参数列表
* @return string 返回的资源内容
*/
publicstaticfunction http_post($url, $keysArr = array()){
$ch = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_SSLVERSION,1);//CURL_SSLVERSION_TLSv1
}
$aPOST = array();
foreach($keysArr as $key=>$val){
$aPOST[]= $key."=".urlencode($val);
}
$strPOST = implode("&", $aPOST);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$strPOST);
$sContent = curl_exec($ch);
$aStatus = curl_getinfo($ch);
curl_close($ch);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
returnfalse;
}
}
/**
* combineURL
* 拼接url
* @param string $baseURL 基于的url
* @param array $keysArr 参数列表数组
* @return string 返回拼接的url
*/
publicstaticfunction combineURL($baseURL, $keysArr){
if(empty($keysArr)||!is_array($keysArr))return $baseURL;
$combined = $baseURL."?";
$valueArr = array();
foreach($keysArr as $key => $val){
$valueArr[]="$key=".urlencode($val);
}
$keyStr = implode("&",$valueArr);
$combined .=($keyStr);
return $combined;
}
}
标签: PHP
技术宅,科技怪,程序猿。
Comments : 0
有问题可在下面发表评论,当然没事也可以在下面吹吹牛皮、扯扯淡!
昵称 *
邮箱 *
网址
酷狗mv采集php,PHP酷狗音乐采集类相关推荐
- php获取酷狗mv播放链接,酷狗歌单获取歌曲信息的接口源码
<?php /** *@authorYoungxj *@time2018年6月22日 *@todo利用酷狗歌单进行获取酷狗歌曲信息 */ // 访问短网址出现的地址 // http://m.ku ...
- AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
上次写了一个 .NET从优酷专辑中采集所有视频及信息(VB.NET代码) http://www.cnblogs.com/clso/archive/2010/01/09/1642952.html 个人觉 ...
- 新酷卡 mysql接口_新酷卡M池二次开发模块数据库操作版
有大神发了一个soket方式的,尝试继承到模块后发现soket不太适合放到易模块类内, 客户组件不支持放在类内,必须放在界面上,传入赋值类内客户变量,收到数据事件也没办法放在类内,放弃 远程服务支持库 ...
- linux看门狗树莓派,给树莓派安装看门狗
你还在担心树莓派死机吗?给他装个看门狗吧! 什么是看门狗程序? 看门狗程序就是一个健康监控程序,每间隔一定时间(默认10秒)检查一次是否在设定的健康工作范围内,如果超过即启动硬件复位程序,让设备重新启 ...
- Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面
本文主要介绍如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面 我将向您展示如何使用 Flutter 制作一个具有酷炫液体滑动效果的酷炫入门页面,所以不用多说,让我们开始吧.在本课程 ...
- [网络安全自学篇] 三十三.文件上传之绕狗一句话原理和绕过安全狗(六)
这是作者的系列网络安全自学教程,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文详细讲解了Upload-labs靶场及文件上传漏洞20道CTF题目,并结合C ...
- 优酷html5视频没有弹幕,优酷弹幕怎么设置 优酷PC端怎么屏蔽底下弹幕?
电脑版优酷打开弹幕步骤: 打开电脑浏览器,在地址栏输入优酷官网地址,进入优酷官网. 进入优酷官网后,点击想要观看的影片并播放. 影片非全屏播放时,在播放界面有一个全屏符号,点击该符号进入全屏播放模式. ...
- stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置
SATM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法.▍STM32独立看门狗由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍 ...
- 狗不理是怎样混到狗都不理的?
转载自「世界知识局」 ID:sjzhishiju 包子届成员千千万,谁是No.1? 大部分人首先想到的,都是"天津狗不理包子". 但最近,包子届老大的日子也不太好过了.早在几个月前 ...
最新文章
- A*寻路算法的探寻与改良(三)
- Win10下使用Debug
- 基于朴素贝叶斯的垃圾邮件分类-着重理解拉普拉斯变换
- (转)web.xml 中的listener、 filter、servlet 加载顺序及其详解
- LVS——DR模式+Keepalived(高可用)
- Leetcode 224.基本计算器
- xposed获取context 的方法
- ENVI学习总结(九)——图像裁剪
- 短视频系统+购物直播APP开发方案
- IOS 10 适配系列 _3_ Xcode 8 GM seed
- 微信扫一扫二维码直接打开手机默认外部浏览器
- tdd测试_变异测试是TDD的发展
- 网易收购《底特律》《暴雨》开发商继续走向全球化
- 44.网络安全渗透测试—[穷举篇7]—[网站会员批量登录穷举]
- 二级建造师【管理】第一章:施工方的项目管理
- win10文件夹加密_分享win10系统不使用第三方工具加密文件夹的操作方法(图文)
- jdk版本8u201 8u202 区别
- 手机上html怎么删不掉,格式化也不靠谱?教你如何彻底删除手机上的数据
- 单片机之实验计数器实验
- 用 Python 实现 扫雷小游戏