惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
I
InfoQ
Jina AI
Jina AI
Martin Fowler
Martin Fowler
Recent Announcements
Recent Announcements
量子位
月光博客
月光博客
罗磊的独立博客
雷峰网
雷峰网
The Cloudflare Blog
V
V2EX
小众软件
小众软件
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题

韩小韩博客

你还在用真实邮箱注册网站?等等,你真的想清楚了吗? IPFS星际文件系统 最新二合一收款码 - 物理合并版 从Hexo到Astro博客1分钟迁移指南 Astro 添加 Waline 评论组件 腾讯云 EdgeOne Pages 实测对比:能否成为国内开发者的 Cloudflare Pages 最佳平替? Astro 中使用 Lenis 增加鼠标滚动阻尼感 一组手机和电脑动态壁纸分享【分享】 Astro 添加 Twikoo 评论组件 Astro主题-优雅的vhAstro-Theme【使用文档】 Fetch的GET、POST简单HTTP请求封装 一些实拍的手机壁纸 大理And威海【图】 很喜欢西湖的水【转自:狮子狮子鱼】 Tarot-塔罗牌占卜 Web Watermark 图片添加水印在线小助手 HanAnalytics访问分析Web统计托管于(Cloudflare Pages) 基于AI的微博动态心情分析 阿里云免费用9年ecs教程【适合轻量化服务如frp】 Cloudflare优选IP➕DnsPod的DDNS自动切换 混沌神器Clash全家桶 卷王都在用的变态休息法 NodeJs文本相似度去重脚本 骤雨重山无限存储图床托管于(Cloudflare Pages) 分享好看的天空和云(长期更新) Typecho转到Hexo(主题由Typecho-Joe-Theme转Butterfly主题) Typecho评论导出为Hexo的Valine、Twikoo等评论所支持的JSON文件 Safari浏览器内容被地址栏、菜单栏或工具栏遮挡导致的兼容问题 拼夕夕快速提现100元攻略 2024 平安喜乐
知乎热榜API、百度热点API、微博热搜API(开源)- 聚合热榜AP...
.𝙃𝙖𝙣 · 2026-04-11 · via 韩小韩博客

avatar

.𝙃𝙖𝙣

1025 5.1分钟

Code

源码为一次源码,源接口为官方接口,与 韩小韩API(Api.Vvhan.Com)使用接口完全相同,上传即用!

知乎热榜API、百度热点API、微博热搜API(开源)- 聚合热榜API开源

环境需求

  • PHP 5.4及以上
  • 使用方式:上传即用

知乎热榜API源码

<?php
// 知乎热榜  热度
function zhihuHot()
{
  $_resHtml = str_replace(["\n", "\r", " "], '', vvhanCurl('https://www.zhihu.com/hot', ['User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'], 'https://www.zhihu.com'));
  preg_match('/<scriptid=\"js-initialData\"type=\"text\/json\">(.*?)<\/script>/', $_resHtml, $_resHtmlArr);
  $jsonRes = json_decode($_resHtmlArr[1], true);
  $tempArr = [];
  foreach ($jsonRes['initialState']['topstory']['hotList'] as $k => $v) {
    array_push($tempArr, [
      'index' => $k + 1,
      'title' => $v['target']['titleArea']['text'],
      'desc' => $v['target']['excerptArea']['text'],
      'pic' =>  $v['target']['imageArea']['url'],
      'hot' => $v['target']['metricsArea']['text'],
      'url' => $v['target']['link']['url'],
      'mobilUrl' => $v['target']['link']['url']
    ]);
  }
  return [
    'success' => true,
    'title' => '知乎热榜',
    'subtitle' => '热度',
    'update_time' => date('Y-m-d h:i:s', time()),
    'data' => $tempArr
  ];
}
?>

百度热点API源码

<?php
// 百度热点  指数
function baiduredian()
{
  $_resHtml = str_replace(["\n", "\r", " "], '', vvhanCurl('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' => $_v['hotScore'] . 'W个内容',
        'mobilUrl' => $_v['appUrl']
      ]);
    }
  }
  return [
    'success' => true,
    'title' => '百度热点',
    'subtitle' => '指数',
    'update_time' => date('Y-m-d h:i:s', time()),
    'data' => $tempArr
  ];
}
?>

微博热搜API源码

<?php
// 微博 热搜榜
function wbresou()
{
  $_md5 = md5(time());
  $cookie = "Cookie: {$_md5}:FG=1";
  $jsonRes = json_decode(vvhanCurl('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' => $v['num'] . '万',
      'url' => "https://s.weibo.com/weibo?q={$v['word_scheme']}&t=31&band_rank=12&Refer=top",
      'mobilUrl' => "https://s.weibo.com/weibo?q={$v['word_scheme']}&t=31&band_rank=12&Refer=top"
    ]);
  }
  return [
    'success' => true,
    'title' => '微博',
    'subtitle' => '热搜榜',
    'update_time' => date('Y-m-d h:i:s', time()),
    'data' => $tempArr
  ];
}

?>

三合一聚合源码

知乎热榜、百度热点、微博热搜 API三合一聚合源码

<?php
/*
 * @Author: Han
 * @Date: 2022-11-02 13:45:21
 * @LastEditors: Han
 * @LastEditTime: 2022-11-02 13:52:21
 * @FilePath: \WWW\hotlist.php
 * @NetWork: 韩小韩博客 www.vvhan.com
 */
error_reporting(0);
header("Access-Control-Allow-Origin:*");
header("Content-type:application/json; charset=utf-8");
date_default_timezone_set("Asia/Shanghai");

class VvhanApi
{
  // 知乎热榜  热度
  public function zhihuHot()
  {
    $_resHtml = str_replace(["\n", "\r", " "], '', $this->vvhanCurl('https://www.zhihu.com/hot', ['User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'], 'https://www.zhihu.com'));
    preg_match('/<scriptid=\"js-initialData\"type=\"text\/json\">(.*?)<\/script>/', $_resHtml, $_resHtmlArr);
    $jsonRes = json_decode($_resHtmlArr[1], true);
    $tempArr = [];
    foreach ($jsonRes['initialState']['topstory']['hotList'] as $k => $v) {
      array_push($tempArr, [
        'index' => $k + 1,
        'title' => $v['target']['titleArea']['text'],
        'desc' => $v['target']['excerptArea']['text'],
        'pic' =>  $v['target']['imageArea']['url'],
        'hot' => $v['target']['metricsArea']['text'],
        'url' => $v['target']['link']['url'],
        'mobilUrl' => $v['target']['link']['url']
      ]);
    }
    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->vvhanCurl('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' => $v['num'] . '万',
        'url' => "https://s.weibo.com/weibo?q={$v['word_scheme']}&t=31&band_rank=12&Refer=top",
        'mobilUrl' => "https://s.weibo.com/weibo?q={$v['word_scheme']}&t=31&band_rank=12&Refer=top"
      ]);
    }
    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->vvhanCurl('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' => $_v['hotScore'] . 'W个内容',
          'mobilUrl' => $_v['appUrl']
        ]);
      }
    }
    return [
      'success' => true,
      'title' => '百度热点',
      'subtitle' => '指数',
      'update_time' => date('Y-m-d h:i:s', time()),
      'data' => $tempArr
    ];
  }

  private function vvhanCurl($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 VvhanApi;

switch ($_type) {
  case 'baidu':
    $_res = $API->baiduredian();
    break;
  case 'zhihu':
    $_res = $API->zhihuHot();
    break;

  case 'weibo':
    $_res = $API->wbresou();
    break;

  default:
    $_res = ['success' => false, 'message' => '参数不完整'];
    break;
}
$_res['copyright'] = '韩小韩博客 www.vvhan.com';
exit(json_encode($_res, JSON_UNESCAPED_UNICODE));
?>

成品使用

如果你懒得搭建,可使用 韩小韩API(Api.Vvhan.Com)提供的 聚合热榜API

热榜热搜各站热榜聚合API
API 源码 开源