文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-01 06:21

关注

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

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('//', $_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));?>

来源地址:https://blog.csdn.net/zzjlhlcd/article/details/129488082

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯