使用php扩展curl爬取百度热歌单曲需要PHP扩展CURL爬虫主要是利用正则技术Halfhusha然后生成一个php文件,格式为*/classFetch{functiongetData($url){$data=array();$str=$this->http($url);如果($str){$data=$this->parseHtml($str);}返回$数据;}functionhttp($url){//No.1//开始写代码,根据给定的链接抓取网站内容//$curl=$url;$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//将curl_exec()得到的信息以文件流的形式返回,而不是直接输出。curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);$output=curl_exec($ch);返回$输出;//end_code}functionparseHtml($str){$ids=array();//百度歌曲id$标题=数组();//歌曲名称$names=array();//歌手名//No.2//开始写代码,分析页面内容,获取歌号,歌名,歌手名$pattern='/href="\/song\/\d*/';preg_match_all($模式,$str,$matches);foreach($matches[0]as$v){$ids[]=strtok($v,'href="/song/');}$pattern='/title="收藏夹\D+"href="#">/';//歌曲名称preg_match_all($pattern,$str,$matches);foreach($matches[0]as$v){$titles[]=strtr($v,array('title="Favorites'=>'','"href="#">'=>''));}$pattern='/author_list"title="\D+">/';//歌手姓名preg_match_all($pattern,$str,$matches);foreach($matches[0]as$v){$names[]=strtr($v,array('author_list"title="'=>'','">'=>''));}//合并数组foreach($idsas$key=>$value){$coalesce[$key]['id']=$ids[$key];$coalesce[$key]['title']=$titles[$key];$合并[$键]['name']=$names[$key];}$url=array();foreach($coalesceas$v){$url[]='
