PHP获取抖音热门视频

PHP获取抖音热门视频

	// cookies 换成自己的
	public function hotVideo()
    {
        $url = "https://creator.douyin.com/web/api/creator/material/center/billboard/";
        $cookies = 'gfkadpd=2906,33638';// cookies 换成自己的
        $jsonRes = json_decode(get($url, [], $cookies), true);
        if (!isset($jsonRes['item_list']) && empty($jsonRes['item_list'])) {
            $data = Cache::get('hot_video');
        } else {
            Cache::set('hot_video', $jsonRes);
            $data = Cache::get('hot_video');
        }
        return $this->success('成功', $data);
    }
//get请求方式
function get($url, $params = [], $cookies = '', $timeout = 30)
    {
        // 构建查询字符串
        if (!empty($params)) {
            $url .= '?' . http_build_query($params);
        }
        // 初始化 cURL
        $ch = curl_init();
        // 设置 cURL 选项
        curl_setopt($ch, CURLOPT_URL, $url);            // 设置请求的 URL
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  // 返回响应内容,而不是直接输出
        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);     // 设置请求超时时间

        // 设置 cookies(如果有)
        if (!empty($cookies)) {
            curl_setopt($ch, CURLOPT_COOKIE, $cookies);  // 直接将 cookie 字符串传给 CURLOPT_COOKIE
        }
        // 执行 cURL 请求
        $response = curl_exec($ch);
        // 检查请求是否成功
        if (curl_errno($ch)) {
            // 输出 cURL 错误信息
            echo 'cURL error: ' . curl_error($ch);
            return false;
        }
        // 关闭 cURL 句柄
        curl_close($ch);
        // 返回响应内容
        return $response;
    }
 //获取数据进行操作
    public function getDyHot(Request $request)
    {
        $res = $this->hotVideo();
        $res = $res->getData();
        $List = [];
        if (isset($res['data']['item_list'])) {
            foreach ($res['data']['item_list'] as $val) {
                $lists = [];
                $lists['author_link'] = $val['author_link'];
                $lists['author_name'] = $val['author_name'];
                $lists['comment_count'] = round($val['comment_count'] / 10000, 1) . '万';
                $lists['like_count'] = round($val['like_count'] / 10000, 1) . '万';
                $lists['play_count'] = round($val['play_count'] / 10000, 1) . '万';
                $lists['title'] = $val['title'];
                $lists['img'] = $val['cover']['url_list'][0];
                $lists['url'] = 'https://www.iesdouyin.com/share/video/' . $val['item_id'];
                $List[] = $lists;
            }
        }
        return success('查询成功', $List);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值