yemoecom 发表于 2020-12-7 18:37

php快手接口

本帖最后由 yemoecom 于 2020-12-7 18:39 编辑

之前一直在论坛找一个快手下载工具!不是失效就是下载不了!于是自己下了一个接口!
快手单个视频不需要cookie!其他的需要
这里分享下php获取的接口

<?php
      $t='{"photoId":"3xf4nkgxnznyyqg","page":"selected"}';
    $name='visionVideoDetail';
      $data=ks_dan($t,$name);
    echo '<pre>';
    print_r(json_decode($data,true));
   
      function ks_dan($t,$name){
      $url = 'https://video.kuaishou.com/graphql';
                $header = array (
0 => 'Connection: keep-alive',
1 => 'accept: */*',
2 => 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
3 => 'content-type: application/json',
4 => 'Origin: https://video.kuaishou.com',
5 => 'Sec-Fetch-Site: same-origin',
6 => 'Sec-Fetch-Mode: cors',
7 => 'Sec-Fetch-Dest: empty',
8 => 'Referer: https://video.kuaishou.com/featured/3xr97vqpypqjvzw',
9 => 'Accept-Language: zh-CN,zh;q=0.9',
);
    $postData = '{"operationName":"'.$name.'","variables":'.$t.',"query":"query '.$name.'($photoId: String, $type: String, $page: String) {\n'.$name.'(photoId: $photoId, type: $type, page: $page) {\n    status\n    type\n    author {\n      id\n      name\n      following\n      headerUrl\n      __typename\n    }\n    photo {\n      id\n      duration\n      caption\n      likeCount\n      realLikeCount\n      coverUrl\n      photoUrl\n      liked\n      timestamp\n      expTag\n      llsid\n      __typename\n    }\n    tags {\n      type\n      name\n      __typename\n    }\n    commentLimit {\n      canAddComment\n      __typename\n    }\n    llsid\n    __typename\n}\n}\n"}';
   $cookie = '这里填写COOKIE'; //需要cookie的话去掉这行的注释
    $timeout = 10;

    $ch= curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);       //返回数据不直接输出
    curl_setopt($ch, CURLOPT_ENCODING, "gzip");      //指定gzip压缩
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    //302/301
    //SSL
    if(substr($url, 0, 8) === 'https://') {
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
      //error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)解决
      //值有0-6,请参考手册,值1不行试试其他值
      //curl_setopt($ch, CURLOPT_SSLVERSION, 1);
    }
    //post数据
    if(!empty($postData)) {
      curl_setopt($ch, CURLOPT_POST, 1);               //发送POST类型数据
      curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); //POST数据,$post可以是数组(multipart/form-data),也可以是拼接参数串(application/x-www-form-urlencoded)
    }
    if(!empty($cookie)) {
      $header[] = $cookie;
    }
    if(!empty($header)) {
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);   //使用header头信息
    }
    //超时时间
    curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
    //执行
    $content = curl_exec($ch);
    if($error = curl_error($ch)) {
      //log error
      error_log($error);
    }
    curl_close($ch);

    // $content 是请求结果
    return $content;
      }
   

根据接口自己获取mp4地址!自己下载好了!

然后自己花了点时间写了前端页面http://ks.yemoe.com!这个是测试的页面自己用的。大家可以参考下!全部的代码写的有点渣!我也是用在tiktok里!有情趣的一起探讨下哈!

热水加糖 发表于 2021-2-6 13:07

大佬,请问这个轮播地址的直播源解析 怎么写呢?

https://live.kuaishou.com/u/40300199   24小时播放轮播节目

手机上才可以打开

yemoecom 发表于 2021-3-4 13:59

heart8619 发表于 2021-2-20 15:17
怎么不能用啊?我想批量下载某个人的视频如何操作??

批量的需要cookie快手的cookie有时间限制的

weiweivs00 发表于 2020-12-7 19:19

谢谢分享 不过想知道是怎么去抓包的抓APP吗

muyu1314520 发表于 2020-12-7 19:40

PHP永远的神

swfz2008 发表于 2020-12-7 20:08


谢谢分享

frefre520 发表于 2020-12-8 00:26

这个密钥从哪里获取?

opponika 发表于 2020-12-8 01:07

数据接口请求异常:error

wanshiz 发表于 2020-12-8 07:03

谢谢楼主分享。有启发了。

yemoecom 发表于 2020-12-8 08:46

frefre520 发表于 2020-12-8 00:26
这个密钥从哪里获取?

看截图就知道了!

yemoecom 发表于 2020-12-8 08:47

weiweivs00 发表于 2020-12-7 19:19
谢谢分享 不过想知道是怎么去抓包的抓APP吗

就是PC啊!移动抓包也可以
页: [1] 2
查看完整版本: php快手接口