您的位置 首页 编程知识

2023最新聚合热搜热榜PHP接口API源码

聚合热搜热榜PHP接口API源码,本源码接口均抓取采集各大官网数据。 PHP环境为5.6或以上,解压压缩包里面…

聚合热搜热榜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源码

<?php  header("Access-Control-Allow-Origin:*");  header("Content-type:application/json; charset=utf-8");  date_default_timezone_set("Asia/Shanghai");  class Api  {    // 少数派 热榜    public function sspai()    {      $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-d h:i:s', time()),        'data' => $tempArr      ];    }         // CSDN 头条榜    public function csdn()    {      $_resHtml = $this->Curl('https://www.csdn.net', null, "User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/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']        ]);      }      //头条1      foreach ($jsonRes['pageData']['data']['www-Headlines'] as $k => $v) {        array_push($tempArr, [          'index' => $k +17,          'title' => $v['title'],          'url' => $v['url'],          'mobilUrl' => $v['url']        ]);      }      //头条2      foreach ($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-d h:i:s', time()),        'data' => $tempArr      ];    }         //百度百科  历史上的今天    public function history()    {      $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-d h:i:s', time()),        'data' => $tempArr      ];    }         // 抖音 热搜榜    public function douyin()    {      $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-d h:i:s', time()),        'data' => $tempArr      ];    }    // 哔哩哔哩 全站日榜    public function bilibili_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-d h:i:s', time()),        'data' => $tempArr      ];    }    // 哔哩哔哩 热搜榜    public function bilibili_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-d h:i:s', time()),        'data' => $tempArr      ];    }         // 知乎热榜  热度    public function zhihuHot()    {      $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-d h:i:s', time()),        'data' => $tempArr      ];    }    // 微博 热搜榜    public function wbresou()    {      $_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-d h:i:s', time()),        'data' => $tempArr      ];    }    // 百度热点 指数    public function baiduredian()    {      $_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-d h:i:s', time()),        'data' => $tempArr      ];    }    private function Curl($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; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/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); //设置传输的 url      curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //发送 http 报头      curl_setopt($ch, CURLOPT_COOKIE, $cookie); //设置Cookie      curl_setopt($ch, CURLOPT_REFERER,  $refer); //设置Referer      curl_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 = new Api;  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));  ?>

 

阅读剩余
本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/3893.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部