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

80 ℃

功能描述:利用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查询接口:根据关键字获取模拟数据

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

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

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

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

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

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

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

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

生活小工具

收录了万年历、老黄历、八字智能排盘等100+款小工具!生活小工具
一文轻松了解oracle视图和表的区别
织梦cms提示:内存错误,下载解压版base_dic_full.d
js关于Date对象的所有方法介绍
nginx如何限制网站来源ip访问
帝国cms灵动标签实现循环子栏目数据