头条、抖音、百度热榜API接口《三合一疗程》

2024-06-19 13:29:31 浏览数 (2)

热榜API接口

代码语言:javascript复制
https://dabenshi.cn/other/api/hot.php?type=douyinhot // 抖音热点
https://dabenshi.cn/other/api/hot.php?type=toutiaoHot // 头条热榜
https://dabenshi.cn/other/api/hot.php?type=baidu // 百度热搜

了解 data 数组(以抖音接口为例,其他雷同):

代码语言:javascript复制
{
    "api_info": "www.dabenshi.cn", // API信息
    "success": true, // 请求成功标志
    "title": "抖音", // 标题
    "subtitle": "抖音热点", // 子标题
    "update_time": "Y-m-d H:i:s", // 更新时间
    "data": [ // 数据列表
        {
            "index": 1, // 排名
            "title": "总书记对青年的谆谆教诲", // 标题
            "hot": "0万", // 热度
            "hotlist_param": "{"version":1}", // 热度列表参数
            "discuss_video_count": 1, // 讨论视频数量
            "image_url": null, // 图片链接
            "word_sub_board": null, // 字幕板块
            "label": 0, // 标签
            "url": "https://www.douyin.com/search/总书记对青年的谆谆教诲", // 网页链接
            "mobilUrl": "https://www.douyin.com/search/总书记对青年的谆谆教诲" // 移动端网页链接
        }
    ]
}

根据 API 提供的 data 数组,再结合你的数据结构,以 PHP 为例处理: 

代码语言:javascript复制
<?php
// 指定要获取数据的 URL
$url = 'https://dabenshi.cn/other/api/hot.php?type=douyinhot';

// 初始化 cURL 会话
$ch = curl_init();

// 设置 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);  // 设置请求的 URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  // 返回结果中包含输出的字符串
curl_setopt($ch, CURLOPT_HEADER, false);  // 在输出中排除任何 HTTP 头信息

// 执行 cURL 会话并获取返回结果
$response = curl_exec($ch);

// 关闭 cURL 会话
curl_close($ch);

// 处理响应数据
if ($response !== false) {
    // 将返回的 JSON 数据解码为关联数组
    $data = json_decode($response, true);

    // 检查是否存在 data 键
    if (isset($data['data'])) {
        // 获取项目数组
        $items = $data['data'];
        
        // 初始化序号和输出项目数量限制
        $index = 1;
        $outputLimit = 5;

        // 循环遍历项目数组
        foreach ($items as $item) {
            // 检查是否超出输出限制
            if ($index > $outputLimit) {
                break;  // 超过输出限制时跳出循环
            }

            // 提取项目信息
            $itemUrl = $item['url']; // 获取项目 URL
            $itemTitle = htmlspecialchars($item['title']); // 获取并转义标题
            $itemImage = isset($item['image_url'][0]) ? $item['image_url'][0] : 'https://dabenshi.cn/uploads/TikTok.svg'; // 获取并设置图片 URL,如果不存在,则使用默认图片
            $itemTime = date('Y-m-d H:i', $item['timestamp']); // 格式化时间戳
            $itemHot = $item['hot']; // 获取热度

            // 输出 HTML
            echo "<div class="story_line">"; // 输出项目容器的开始标签
            echo "<a href="{$itemUrl}" title="{$itemTitle}" target="_blank">"; // 输出链接标签,包含标题和 URL,并在新标签页中打开
            echo "<div class="image cover" style="background-image: url({$itemImage})">"; // 输出带有背景图片的 div,用于显示项目图片
            echo "</div>"; // 关闭图片 div
            echo "<div>"; // 输出包含标题和时间的 div
            echo "<span class="title">{$itemTitle}</span>"; // 输出标题
            echo "<time class="date grey" datetime="{$itemTime}">热度:{$itemHot} {$itemTime}</time>"; // 输出热度和时间
            echo "</div>"; // 关闭标题和时间的 div
            echo "</a>"; // 关闭链接
            echo "</div>"; // 关闭项目容器

            $index  ;  // 序号递增
        }
    } else {
        echo "未找到数据"; // 输出未找到数据的消息
    }
} else {
    echo "无法获取数据"; // 输出无法获取数据的消息
}
?>

0 人点赞