百度MP3搜索 php 版源码

来源:互联网 发布:易语言刷7钻源码 编辑:程序博客网 时间:2024/04/29 13:57

这里只发下函数库的源码,用法自己研究下

主要用的是curl和正则表达式,还有,因为全站是UTF-8,百度MP3是GBK,所以之间的编码转换可忽略,看个人情况

<?php$sfile = '';function GetHtmlContent($url) {$ch=curl_init();$timeout=5;curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$sfile = curl_exec($ch);curl_close($ch);return $sfile;}function init ($musicname) {global $sfile;$musicname =  mb_convert_encoding($musicname,'GBK','UTF-8');$url="http://mp3.baidu.com/m?word=$musicname&lm=-1&f=ms&tn=baidump3&ct=134217728&lf=&rn=";$sfile = GetHtmlContent($url);$sfile = mb_convert_encoding($sfile,'UTF-8','GBK');//echo htmlspecialchars($sfile);}function GetMusicName() {global $sfile;$a = GetTextMid($sfile,'<a.*onclick="return bindMtype.*>','<\/a>');foreach ($a as $i => $value) {//$value = mb_convert_encoding($value,'UTF-8','GBK');//==需要转换编码if($value == '试听') {//删除叫试听的名unset($a[$i]);}}$musicname = array_values($a);unset($a);//释放临时变量return $musicname;}function GetMusicSinger() {global $sfile;$musicsinger = GetTextMid($sfile,'<td class="third"><span>','<\/span>');$musicsinger = DelText('<a.*>',$musicsinger);$musicsinger = DelText('<\/a>',$musicsinger);return $musicsinger;}function GetMusicAlbum() {global $sfile;$musicalbum = GetTextMid($sfile,'<td class="fourth"><span>','<\/span>');$musicalbum = DelText('<a.*>',$musicalbum);$musicalbum = DelText('<\/a>',$musicalbum);return $musicalbum;}function GetMusicDownPage() {global $sfile;$musicdownpage =  GetTextMid($sfile,'<a.*href="','".*t_down">.*<\/a>');return $musicdownpage;}function GetMusicFormat() { global $sfile;$musicformat = GetTextMid($sfile,'<td class="eighth"><span>','<\/span>');return $musicformat;}function GetMusicSize() {global $sfile;$musicsize = GetTextMid($sfile,'<td class="seventh"><span>','<\/span>');return $musicsize;}function GetMusicDownLink($MusicDownPage) {//$MusicDownPage =  mb_convert_encoding($MusicDownPage,'GBK','UTF-8');//echo $MusicDownPage;$dfile = GetHtmlContent($MusicDownPage);//$dfile =  mb_convert_encoding($dfile,'GBK','UTF-8');//echo $dfile;$musicdownlink = GetTextMid($dfile,'<a id="downlink" href="','".*<\/a>');return 'http://mp3.baidu.com'.$musicdownlink[0];}function GetTextMid ($string,$left_str,$right_str) {//$left_str = addslashes($left_str);//$right_str = addslashes($right_str);preg_match_all('/'.$left_str.'(.*)'.$right_str.'/iU',$string,$out);return $out[1];}function DelText($delstring,$string) {$out = preg_replace('/'.$delstring.'/iU','',$string);return $out;}?>

易语言版:http://bbs.eyuyan.com/read.php?tid=300234