PHP接口API源码实现聚合热搜热榜功能
聚合热搜热榜PHP接口API源码是一种用于获取热门搜索关键词和话题的PHP程序。它通过调用各大搜索引擎和社交媒体平台的API,实时获取并整理出当前的热搜榜单。用户可以通过这个接口获取到各种类型的热搜信息,如新闻、娱乐、科技等。此外,该源码还支持自定义筛选条件,如地区、时间范围等,以满足不同用户的需求。总之,聚合热搜热榜PHP接口API源码是一个功能强大、易于使用的工具,可以帮助用户快速了解当前的热点话题和趋势。
API说明
聚合热搜热榜PHP接口API源码,本源码接口均抓取采集各大官网数据。
PHP环境为5.6或以上,解压压缩包里面的hotlist.php文件到网站目录
然后输入参数输入?type
参数内容;
zhihu(知乎热榜) weibo(微博热搜) baidu(百度热点) history(历史上的今天) bilihot(哔哩哔哩热搜) biliall(哔哩哔哩全站日榜) sspai(少数派头条) douyin(抖音热搜) CSDN(CSDN头条榜) 使用方法;
访问你的域名地址/hotlist.php?type=
?type=(输入参数才能显示内容)
示例;访问你的域名地址/hotlist.php?type=zhihu
API源码
<?phpheader("Access-Control-Allow-Origin:*");header("Content-type:application/json;charset=utf-8");date_default_timezone_set("Asia/Shanghai");classApi{//少数派热榜publicfunctionsspai(){$jsonRes=json_decode($this->Curl('https://sspai.com/api/v1/article/tag/page/get?limit=100000&tag=%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0',null,null,"https://sspai.com"),true);$tempArr=[];foreach($jsonRes['data']as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['title'],'createdAt'=>date('Y-m-d',$v['released_time']),'other'=>$v['author']['nickname'],'like_count'=>$v['like_count'],'comment_count'=>$v['comment_count'],'url'=>'https://sspai.com/post/'.$v['id'],'mobilUrl'=>'https://sspai.com/post/'.$v['id']]);}return['success'=>true,'title'=>'少数派','subtitle'=>'热榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//CSDN头条榜publicfunctioncsdn(){$_resHtml=$this->Curl('https://www.csdn.net',null,"User-Agent:Mozilla/5.0(iPhone;CPUiPhoneOS10_3_1likeMacOSX)AppleWebKit/603.1.30(KHTML,likeGecko)Version/10.0Mobile/14E304Safari/602.1","https://www.csdn.net");preg_match('/window.__INITIAL_STATE__=(.*?);<\/script>/',$_resHtml,$_resHtmlArr);$jsonRes=json_decode($_resHtmlArr[1],true);$tempArr=[];//头条foreach($jsonRes['pageData']['data']['Headimg']as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['title'],'url'=>$v['url'],'mobilUrl'=>$v['url']]);}//头条1foreach($jsonRes['pageData']['data']['www-Headlines']as$k=>$v){array_push($tempArr,['index'=>$k+17,'title'=>$v['title'],'url'=>$v['url'],'mobilUrl'=>$v['url']]);}//头条2foreach($jsonRes['pageData']['data']['www-headhot']as$k=>$v){array_push($tempArr,['index'=>$k+48,'title'=>$v['title'],'url'=>$v['url'],'mobilUrl'=>$v['url']]);}return['success'=>true,'title'=>'CSDN','subtitle'=>'头条榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//百度百科历史上的今天publicfunctionhistory(){$month=date('m',time());$day=date('d',time());//当前年月日$today=date('Y年m月d日');//获取接口数据$jsonRes=json_decode($this->Curl('https://baike.baidu.com/cms/home/eventsOnHistory/'.$month.'.json',null,null,"https://baike.baidu.com"),true);$tempArr=[];//统计当日总数$countnum=count($jsonRes[$month][$month.$day])-1;foreach($jsonRes[$month][$month.$day]as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['year'].'年-'.strip_tags($v['title']),'url'=>'https://www.douyin.com/search/'.urlencode($v['title']),'mobilUrl'=>'https://www.douyin.com/search/'.urlencode($v['title'])]);}return['success'=>true,'title'=>'百度百科','subtitle'=>'历史上的今天','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//抖音热搜榜publicfunctiondouyin(){$jsonRes=json_decode($this->Curl('https://www.iesdouyin.com/web/api/v2/hotsearch/billboard/word/',null,null,"https://www.douyin.com"),true);$tempArr=[];foreach($jsonRes['word_list']as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['word'],'hot'=>round($v['hot_value']/10000,1).'万','url'=>'https://www.douyin.com/search/'.urlencode($v['word']),'mobilUrl'=>'https://www.douyin.com/search/'.urlencode($v['word'])]);}return['success'=>true,'title'=>'抖音','subtitle'=>'热搜榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//哔哩哔哩全站日榜publicfunctionbilibili_rankall(){$jsonRes=json_decode($this->Curl('https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all',null,null,"https://www.bilibili.com"),true);$tempArr=[];foreach($jsonRes['data']['list']as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['title'],'pic'=>$v['pic'],'desc'=>$v['desc'],'hot'=>round($v['stat']['view']/10000,1).'万','url'=>$v['short_link'],'mobilUrl'=>$v['short_link']]);}return['success'=>true,'title'=>'哔哩哔哩','subtitle'=>'全站日榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//哔哩哔哩热搜榜publicfunctionbilibili_hot(){$jsonRes=json_decode($this->Curl('https://app.bilibili.com/x/v2/search/trending/ranking',null,null,"https://www.bilibili.com"),true);$tempArr=[];//return$jsonRes;foreach($jsonRes['data']['list']as$k=>$v){array_push($tempArr,['index'=>$v['position'],'title'=>$v['keyword'],'url'=>'https://search.bilibili.com/all?keyword='.$v['keyword'].'&order=click','mobilUrl'=>'https://search.bilibili.com/all?keyword='.$v['keyword'].'&order=click']);}return['success'=>true,'title'=>'哔哩哔哩','subtitle'=>'热搜榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//知乎热榜热度publicfunctionzhihuHot(){$jsonRes=json_decode($this->Curl('https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true',null,null,"https://www.zhihu.com"),true);$tempArr=[];foreach($jsonRes['data']as$k=>$v){preg_match('/\d+/',$v['detail_text'],$hot);array_push($tempArr,['index'=>$k+1,'title'=>$v['target']['title'],'hot'=>$hot[0].'万','url'=>'https://www.zhihu.com/question/'.urlencode($v['target']['id']),'mobilUrl'=>'https://www.zhihu.com/question/'.urlencode($v['target']['id'])]);}return['success'=>true,'title'=>'知乎热榜','subtitle'=>'热度','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//微博热搜榜publicfunctionwbresou(){$_md5=md5(time());$cookie="Cookie:{$_md5}:FG=1";$jsonRes=json_decode($this->Curl('https://weibo.com/ajax/side/hotSearch',null,$cookie,"https://s.weibo.com"),true);$tempArr=[];foreach($jsonRes['data']['realtime']as$k=>$v){array_push($tempArr,['index'=>$k+1,'title'=>$v['note'],'hot'=>round($v['num']/10000,1).'万','url'=>"https://s.weibo.com/weibo?q=".$v['note']."&Refer=index",'mobilUrl'=>"https://s.weibo.com/weibo?q=".$v['note']."&Refer=index"]);}return['success'=>true,'title'=>'微博','subtitle'=>'热搜榜','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}//百度热点指数publicfunctionbaiduredian(){$_resHtml=str_replace(["\n","\r",""],'',$this->Curl('https://top.baidu.com/board?tab=realtime',null));preg_match('/<!--s-data:(.*?)-->/',$_resHtml,$_resHtmlArr);$jsonRes=json_decode($_resHtmlArr[1],true);//return$jsonRes;$tempArr=[];foreach($jsonRes['data']['cards']as$v){foreach($v['content']as$k=>$_v){array_push($tempArr,['index'=>$k+1,'title'=>$_v['word'],'desc'=>$_v['desc'],'pic'=>$_v['img'],'url'=>$_v['url'],'hot'=>round($_v['hotScore']/10000,1).'万','mobilUrl'=>$_v['appUrl']]);}}return['success'=>true,'title'=>'百度热点','subtitle'=>'指数','update_time'=>date('Y-m-dh:i:s',time()),'data'=>$tempArr];}privatefunctionCurl($url,$header=["accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Encoding:gzip,deflate,br","Accept-Language:zh-CN,zh;q=0.9","Connection:keep-alive","User-Agent:Mozilla/5.0(iPhone;CPUiPhoneOS10_3_1likeMacOSX)AppleWebKit/603.1.30(KHTML,likeGecko)Version/10.0Mobile/14E304Safari/602.1"],$cookie=null,$refer='https://www.baidu.com'){$ip=rand(0,255).'.'.rand(0,255).'.'.rand(0,255).'.'.rand(0,255);$header[]="CLIENT-IP:".$ip;$header[]="X-FORWARDED-FOR:".$ip;$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);//设置传输的urlcurl_setopt($ch,CURLOPT_HTTPHEADER,$header);//发送http报头curl_setopt($ch,CURLOPT_COOKIE,$cookie);//设置Cookiecurl_setopt($ch,CURLOPT_REFERER,$refer);//设置Referercurl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_ENCODING,'gzip,deflate');//解码压缩文件curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//对认证证书来源的检查curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//从证书中检查SSL加密算法是否存在curl_setopt($ch,CURLOPT_TIMEOUT,5);//设置超时限制防止死循环$output=curl_exec($ch);curl_close($ch);return$output;}}$_type=isset($_GET['type'])?$_GET['type']:'';$API=newApi;switch($_type){case'baidu':$_res=$API->baiduredian();break;case'zhihu':$_res=$API->zhihuHot();break;case'weibo':$_res=$API->wbresou();break;case'bilihot':$_res=$API->bilibili_hot();break;case'biliall':$_res=$API->bilibili_rankall();break;case'douyin':$_res=$API->douyin();break;case'history':$_res=$API->history();break;case'csdn':$_res=$API->csdn();break;case'sspai':$_res=$API->sspai();break;default:$_res=['success'=>false,'message'=>'参数不完整'];break;}$_res['copyright']='聚合热搜榜';exit(json_encode($_res,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT));?>