功能描述:利用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接口:利用mysql语法从指定dedecms栏目获取文章总数
上面是“利用php语法获取微博热点榜的接口(2种方法)”的全面内容,想了解更多关于 IT知识 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_19192.html
workflows工作流
一套可爱的动漫生物蓬松贴纸图标
3D圆形玉雕图案comfyui工作流
一个人一条船一条鱼ComfyUI工作流
一把令人难忘的美丽吉他ComfyUI工作流
一杯咖啡蒸汽形成云ComfyUI工作流
彩色雄鹰玉雕ComfyUI工作流
一只漂亮的孔雀的尾巴完全由披萨制成ComfyUI工作流
一位身着传统红色服装的女战士ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!