web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. AIGC工具
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站
    手机应用

利用php语法获取微博热点榜的接口(2种方法)

58 ℃

功能描述:利用php语法做一个获取微博热点的接口,并且在网站上展示这个功能!下面web建站小编给大家介绍具体实现代码!

利用php语法获取微博热点榜

具体实现代码方法一:

方法一是直接调用微博热搜榜接口

<?php
function getWeiboHotSearch() {
    $url = "https://weibo.com/ajax/side/hotSearch"; // 微博热搜榜接口
    $_md5 = md5(time());
    $cookie = "Cookie: {$_md5}:FG=1"; // 模拟 Cookie
    $response = curlRequest($url, $cookie); // 发送请求
    $jsonRes = json_decode($response, true); // 解析 JSON 数据
    $hotSearchList = [];
    foreach ($jsonRes['data']['realtime'] as $k => $v) {
        $hotSearchList[] = [
            'index' => $k + 1, // 排名
            'title' => $v['note'], // 热搜词
            'hot' => round($v['num'] / 10000, 1) . '万', // 热度
            'url' => "https://s.weibo.com/weibo?q=" . urlencode($v['note']) . "&Refer=index" // 搜索链接
        ];
    }
    return $hotSearchList;
}

function curlRequest($url, $cookie) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_COOKIE, $cookie);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}

// 输出结果
$result = getWeiboHotSearch();
foreach ($result as $item) {
    $title = htmlspecialchars($item['title'], ENT_QUOTES, 'UTF-8'); // 防止XSS攻击
    $hot = htmlspecialchars($item['hot'], ENT_QUOTES, 'UTF-8'); // 防止XSS攻击
    echo "<li><a href=\"javascript:;\" rel=\"noopener\" onclick=\"window.open('{$item['url']}');\" title=\"{$title}\"><i>{$title}</i><span>{$hot}</span></a></li>";
}
?>

具体实现代码方法二:

方法二是直接调用第三方接口,缺点是太依赖第三方的稳定性!

<?php
header("Content-type:application/json; charset=utf-8");

// 微博热搜API
$url = "https://api.suyanw.cn/api/wb_hot.php?type=json"; // 第三方微博热搜API接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);
$result = json_decode($html, true);

$hotList = $result['data']; //如果不想要全部数据,可以在这里截取

// 输出热点数据
if (!empty($hotList)) {
    foreach ($hotList as $item) {
        $title = htmlspecialchars($item['title']); // 转义标题
        $url = "https://s.weibo.com/weibo?q=" . urlencode($item['title']); // 转换为PC版链接
        $hotScore = $item['hot']; // 如果没有热度值,显示“无热度值”
        
echo "<li><a href=\"javascript:;\" rel=\"noopener\" onclick=\"window.open('{$item['url']}');\" title=\"{$title}\"><i>{$title}</i><span>{$hot}</span></a></li>";    
    }
} else {
    echo "<p>暂无热点数据</p>";
}
?>

获取微博热点榜的接口已经完成了,如果想在自己的网站上展示微博热点榜可以用参考《利用php语法做一个获取百度热点的接口,并在网站上展示》

进入微博热榜官网入口

利用php语法做一个获取百度热点的接口,并在网站上展示

mysql语法根据指定条件做一个数据汇总接口

php接口:如何把mysql输出的数据进行批量修改

php接口:利用mysql语法从指定dedecms栏目获取文章总数

php如何实现多重接口(附代码介绍)

标签: php接口 微博 微博热点

上面是“利用php语法获取微博热点榜的接口(2种方法)”的全面内容,想了解更多关于 IT知识 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_19192.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > IT知识
本文共计2149个字,预计阅读时长15分钟
Trae:新一代免费的AI编程工具

基金从业资格考试题库

一站式备考基金从业资格考试,收录2021-2025年模拟题库!呱呱工具箱

生活小工具

收录了万年历、老黄历、八字智能排盘等100+款小工具!生活小工具
上一篇: 推荐一个可以查询老黄历的网站,可以根据五行取名!
下一篇: 详细介绍HTTP状态码不同之处的原因(什么原因导致的)
x 打工人ai神器