php源码

抖音快手去水印解析APi源码
2021-04-23 我的站长站

抖音快手去水印解析APi源码

  • 源码编号:1564
  • 点击次数:
  • 数 据 库 :
  • 源码授权:试用
  • 开源情况:非商用
  • 下载权限:普通 / VIP
  • 源码售价:免费下载
  • 下载次数:19

源码说明

抖音快手去水印解析API源码,目前支持抖音和快手,数据都是从原服务器取来的,没有从html结果抓,应该算是比较稳定一点, 其他平台的函数有空写完再补
一共五个函数
1、analyzing 平台解析
2、douyin 抖音视频处理
3、kuaishou 快手视频处理
4、httpRequest curl封装函数
5、result 返回处理

抖音快手去水印解析APi源码
去水印APi源码截图

调用示例:

require 'CWaterMask.php';
echo getUrl();
function getUrl()
{
$data = CWaterMask::analyzing($_GET['url']);
return  $data;
}

代码贴上

<?php
class CWaterMask {
static public function analyzing($url) {
preg_match('/([w-]+.)+w+(:d{2,6})?/', $url, $domain);
switch ($domain[0]) {
case '':
return self::result(500, '请传入解析url参数,例:http://www.123.com/?url=https://v.douyin.com/ehHpu7V/');
break;
case 'v.douyin.com':
return self::douyin($url);
break;
case 'v.kuaishou.com':
return self::kuaishou($url);
break;
default:
return self::result(500, '抱歉,此url暂不支持!');
}
}
static public function douyin($url) {
$url = self::httpRequest($url, 'GET');
preg_match('/(?<=video/)d*(?=/?region)/', $url['location'], $matches);
$item_ids = $matches[0];
$vidoUrl = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=' . $item_ids;
$result = self::httpRequest($vidoUrl, 'GET');
$vid = $result['response']['item_list'][0]['video']['play_addr']['uri'];
if (isset($vid)) {
$video_url = 'https://aweme.snssdk.com/aweme/v1/play/?video_id=' . $vid . '&ratio=720p&line=0';
$music = $result['response']['item_list'][0]['music']['play_url']['uri'];
$nickname = $result['response']['item_list'][0]['author']['nickname'];
$return = array('nickname' => $nickname, 'video_url' => $video_url, 'music' => $music);
return self::result(200, $return);
} else {
return self::result(500, '解析出错!');
}
}
static public function kuaishou($url) {
$vurl = self::httpRequest($url, 'GET');
preg_match('/(?<=video/)w*(?=?fid)/', $vurl['location'], $matches);
$str_qury1 = 'query visionVideoDetail($photoId: String, $type: String, $page: String, $webPageArea: String)';
$str_qury2 = '(photoId: $photoId, type: $type, page: $page, webPageArea: $webPageArea)';
$query = array("operationName" => "visionVideoDetail", "variables" => array('photoId' => $matches[0], "page" => "detail"), "query" => $str_qury1 . "{n visionVideoDetail" . $str_qury2 . "{n photo {n idn durationn captionn likeCountn realLikeCountn coverUrln photoUrln }n}n}n",);
$query = json_encode($query, 320);
$headers = array('content-type: application/json', 'Referer:' . $vurl['location']);
$result = self::httpRequest('https://video.kuaishou.com/graphql', 'POST', $query, $headers);
if (isset($result['response']['data']['visionVideoDetail']['photo']['photoUrl'])) {
return self::result(200, $result['response']['data']['visionVideoDetail']['photo']);
} else {
return self::result(500, '解析出错!');
}
}
static public function httpRequest($url, $method = 'POST', $postfields = null, $headers = array()) {
$method = strtoupper($method);
$ci = curl_init();
curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ci, CURLOPT_TIMEOUT, 30);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
switch ($method) {
case "POST":
curl_setopt($ci, CURLOPT_POST, true);
if (!empty($postfields)) {
$tmpdatastr = is_array($postfields) ? http_build_query($postfields) : $postfields;
curl_setopt($ci, CURLOPT_POSTFIELDS, $tmpdatastr);
}
break;
default:
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, $method);
break;
}
$ssl = preg_match('/^https:///i', $url) ? TRUE : FALSE;
curl_setopt($ci, CURLOPT_URL, $url);
if ($ssl) {
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($ci, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ci, CURLOPT_MAXREDIRS, 2);
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ci, CURLINFO_HEADER_OUT, true);
$response = json_decode(curl_exec($ci), true);
$requestinfo = curl_getinfo($ci);
$http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
$location = curl_getinfo($ci, CURLINFO_EFFECTIVE_URL);
curl_close($ci);
return array('location' => $location, 'response' => $response, 'requestinfo' => $requestinfo);
}
static public function result($errno = 0, $data = '') {
header("Content-type: application/json;charset=utf-8");
$errno = intval($errno);
$result = array('code' => $errno, 'message' => $data);
return json_encode($result, 320);
}
}

说下小白直接运行的问题
1、复制代码保存为CWaterMask.php
2、复制调用示例里面的代码 保存为index.php
3、放在同一个目录,假设目录为shuiyin
4、丢在服务器,域名访问     域名/shuiyin/?url=抖音或快手短链接
或者下载下面的包,解压,文件丢在服务器,按照4操作

相关专题
去水印
去水印
2021-05-13 222

去水印专题为您整理收藏了全方面去水印软件工具,包含去水印软件,去水印工具,去水印源码,还有热门的抖音去水印,快手去水印,安卓去水印等热门短视频去水印....

下载地址

· 积分下载:下载扣除对应积分,不扣除下载次数
· 会员免费:VIP会员免费下载,扣除下载次数
· 下载即代表您已阅读并同意 [服务条款]

相关推荐
  • 去水印源码
  • 抖音去水印
  • 快手视频去水印
  • php+api单文件短视频去水印解析网站源码
    php+api单文件短视频去水印解析网站源码

    源码介绍php+api单文件短视频去水印解析网站源码,无需数据库,无需安装,上传即用,不保证解析API接口永久可用,失效自行替换。源码截图...

    php源码 131 2年前
  • 最新版短视频去水印小程序源码
    最新版短视频去水印小程序源码

    源码说明互站卖55元的最新版短视频去水印源码免费分享,带前端、后台全部源码,安装即可使用。短视频去水印源码截图源码安装方法安装环境(需要材料):备案域名-服务器安装宝塔-安装 Nginx 或者 Apacheph...

    小程序源码 115 2年前
  • 时光去水印小程序源码V3.1去授权版
    时光去水印小程序源码V3.1去授权版

    源码说明时光去水印小程序源码V3.1,去授权版,授权码不用填写直接下一步。环境配置:NGINX php7.3 mysql5.6 可自定义更换接口,非绑定接口版本,带流量主。源码截图源码功能1、后台设单价最6的广...

    小程序源码 406 2年前
最新更新