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

具体实现代码方法一:
方法一是直接调用微博热搜榜接口
<?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语法获取微博热点榜的接口(2种方法)”的全面内容,想了解更多关于 IT知识 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_19192.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

 一款专门为Web设计和前端开发提供了丰富的矢量图标资源库——FontAwesome
 一款免费开源的SSL证书工具——Certimate(90天证书过期自动续期)
 如何添加导入链接进行网站优化?