很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的。这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单。

使用方法:

在php后加上 ?url= 抖音的url 。

点击跳转后的网页一个是标题 一个是视频无水印的链接。

下面来看看具体的源码操作方法

<?php
header("Content-Type: text/json;charset=utf-8");
$url=$_GET["url"];
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($curl);
curl_close($curl);
//获取
preg_match('/<p class="desc">(?<desc>[^<>]*)<\/p>/i', $data, $name);
preg_match('/playAddr: "(?<url>[^"]+)"/i', $data, $url);
//正则匹配
if (empty($url['url'])) {echo '请输入正确网址,格式为:https://xxx.com/douyin.php?url=视频地址';
}else{$array = ['name' => $name['desc'],'url' => $url['url'],];$json = json_encode($array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);echo $json;
}

效果截图如下,url就是原视频链接,不带水印。

大型项目实战直播加入(点击→)我的直播群677079770

这里还有另外一个版本

<?php
header("Content-type: text/html; charset=utf-8");
$url_g=@$_GET['url'];//抖音视频地址
$api="https://api-hl.amemv.com/aweme/v1/aweme/detail/?retry_type=no_retry&iid=43619087057&device_id=57318346369&ac=wifi&channel=update&aid=1128&app_name=aweme&version_code=251&version_name=2.5.1&device_platform=android&ssmix=a&device_type=MI+8&device_brand=xiaomi&language=zh&os_api=22&os_version=5.1.1&uuid=865166029463703&openudid=ec6d541a2f7350cd&manifest_version_code=251&resolution=1080*1920&dpi=480&update_version_code=2512&_rticket=1559206461097&ts=1559206460&as=a115996edcf39c7adf4355&cp=9038c058c7f6e4ace1IcQg&mas=01af833c02eb8913ecc7909389749e6d89acaccc2c662686ecc69c&aweme_id=";//6691388713936653576
$cookie="##";//header请求头和cookie,请自己获取(涉及个人隐私,故不放出来),我可以帮你抓取.你也可以直接使用我的接口 [url=https://api.isoyu.com/ckplayer/douyin.jsp?url=]https://api.isoyu.com/ckplayer/douyin.jsp?url=[/url]
$user_agent="Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36";
function getLinkFromDouyinShareText($shareOrUrl){$url="http".explode("http",$shareOrUrl)[1];$url=explode("复制此链接,",$url)[0];return $url;
}
function getAwemeId($link,$UA){$context=stream_context_create(array('http'=>array('header'=>'User-Agent:'.$UA)));$html_text= file_get_contents($link,0,$context);$str=explode("itemId: \"",$html_text)[1];$str=explode("\",",$str)[0];return $str;
}
function doCurlGetRequest($url,$headers,$timeout = 5){if($url == '' || $timeout <=0){return false;}$con = curl_init((string)$url);curl_setopt($con, CURLOPT_HEADER, false);curl_setopt($con, CURLOPT_RETURNTRANSFER,true);curl_setopt($con,CURLOPT_HTTPHEADER,$headers);curl_setopt($con, CURLOPT_TIMEOUT,(int)$timeout);return curl_exec($con);
}
function getVideoData($api,$cookie,$awemeId){$header=array("Accept-Encoding: utf-8","Cookie: ".$cookie,"Host: api-hl.amemv.com","Connection: Keep-Alive","User-Agent: okhttp/3.10.0.1");$data=json_decode(doCurlGetRequest($api.$awemeId,$header),true);$info=$data['aweme_detail']['share_info'];//视频描述$user_name=$data['aweme_detail']['author']['nickname'];//作者昵称$user_headImg=$data['aweme_detail']['author']['avatar_medium']['url_list'][0];//作者头像$image=$data['aweme_detail']['video']['origin_cover']['url_list'][0];//封面图片$urls=$data['aweme_detail']['video']['play_addr']['url_list'];//无水印地址$music_urls=$data['aweme_detail']['music']['play_url']['url_list'];//音乐地址$douyin=['status'=>true,'nickname'=>$user_name,'awemeId'=>$awemeId,'headImage'=>$user_headImg,'image'=>$image,'videoUrl'=>$urls,'music_urls'=>$music_urls,'info'=>$info,'time'=>time()];return json_encode($douyin);
}
if(strstr($url_g,'http://v.douyin.com/')) {$url_g = getLinkFromDouyinShareText($url_g);$awemeId=getAwemeId($url_g,$user_agent);echo getVideoData($api,$cookie,$awemeId);
}else{echo json_encode(["status"=>false,"message"=>"地址无效"]);
}

实例地址:https://api.isoyu.com/ckplayer/douyin.php?url=

例子:https://api.isoyu.com/ckplayer/douyin.php?url=http://v.douyin.com/rYs9HU

返回:

{"status":true,"nickname":"陳奕迅所長","awemeId":"6629588912228535555","headImage":"https://p9-dy.byteimg.com/aweme/720x720/c7a50016c177b8d83b6e.jpeg","image":"http://p1-dy.byteimg.com/large/129e100017985e14f90e6.jpeg","videoUrl":["http://v6-dy.ixigua.com/1bfeb00063e024eb6b0a1c5c1ccf461f/5cf72e65/video/m/220f880b47b03d54a789c8caed4897ab5f711610bbb50000474b6680d20e/?rc=anRmbjxrNGxqajMzO2kzM0ApQHRAb0ZHNDUzMzczNDQ1PDg5PDNAKXUpQGczdSlAZjN2KUBmaHV5cTFmc2hoZGY7NEBgY2hnbl5sYy1fLS1fLS9zcy1vI28jMTMwLjEuLy0tLjItLS0uL2k6Yi5wIzphLXEjOmAtbyNwYmZyaF4ranQ6Iy8uXg==","http://v9-dy.ixigua.com/8a340ec9e22bbe529f779171175d0852/5cf72e65/video/m/220f880b47b03d54a789c8caed4897ab5f711610bbb50000474b6680d20e/","https://aweme-hl.snssdk.com/aweme/v1/play/?video_id=v0200fb80000bg0gfio1ahq9jkkcfqcg&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0","https://api-hl.amemv.com/aweme/v1/play/?video_id=v0200fb80000bg0gfio1ahq9jkkcfqcg&line=1&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0"],"music_urls":["http://p3-dy.byteimg.com/obj/a02a0001f6153c8784e3"],"info":{"share_weibo_desc":"#在抖音,记录美好生活##明日之后明日之后 游戏人生,钢琴","share_desc":"在抖音,记录美好生活","share_title":"#明日之后明日之后 游戏人生,钢琴","bool_persist":0,"share_title_myself":"","share_title_other":"","share_link_desc":"#在抖音,记录美好生活##明日之后明日之后 游戏人生,钢琴 %s 复制此链接,打开【抖音短视频】,直接观看视频!","share_url":"https://www.iesdouyin.com/share/video/6629588912228535555/?region=CN&mid=6582505245845392141&u_code=gj49fkd1&titleType=title","share_quote":"","share_signature_desc":"TikTok: Make Every Second Count","share_signature_url":"https://tiktokv.com/"},"time":1559699531
}

phper在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的(点击→)我的官方群677079770

用PHP如何实现解析抖音无水印视频相关推荐

  1. 抖音提取封面php,PHP 解析抖音无水印视频

    PHP解析抖音无水印视频后端代码 QQ截图20190329052258.png 20190329052336.png /* author 刘明野 site www.liumingye.cn */ fu ...

  2. 试验解析抖音无水印视频【PHP版】

    试验了网上很多抖音解析无水印视频的API,发现很多都是不稳定的.连今天要分享的这个api也是,总是那么不稳定.不过还好,总算是解析出了无水印视频.很多东西还是要自己调试一下才会知道哪里出bug了! 看 ...

  3. curl取跳转地址 php_用PHP如何实现解析抖音无水印视频

    很多时候你在douyin里看到了一个短视频,想复制下来自己编辑文字来发布,可是视频里的水印却是原者的.这个时候你想把水印去掉,你要如何做呢?这里提供PHP实现去除水印的主要方法,其实很简单. 使用方法 ...

  4. 如何在线获取抖音无水印视频和视频背景音乐?

    如今抖音火遍大江南北,慢慢的已经融入了大家的生活,就像淘宝.微信一样,并且有自己的吸引人的特色. 普通用户看看视频就过去了,但是对于营销人员往往想要搬运视频,但是直接转的都是带水印的 发到其他平台 肯 ...

  5. 抖音无水印视频爬虫(二)——爬虫的实现

    抖音无水印视频爬虫(二)--爬虫的实现 前面的抖音无水印视频爬虫(一)--踩坑,已经讲了相关的原理以及实现的过程 一.环境&Python Modules 1.OS:Deepin 15.10.1 ...

  6. python下载抖音无水印视频

    只要一刷抖音视频,基本上就是停不下来,看到一些喜欢的视频,就想下载下来,但是通过正常手段下载的视频都会带有抖音的水印,今天就一起来使用非正常手段来看看怎么获取无水印抖音视频. 1.获取视频链接地址 这 ...

  7. c语言抓取抖音视频,【FiddlerScript】利用Fiddler中的FiddlerScript自动抓取抖音无水印视频并且自动保存...

    本帖最后由 小白大侠 于 2021-3-14 13:55 编辑 Fiddler自动抓取抖音无水印视频并且自动保存 前言:这段代码实用性不大,大量数据处理容易造成Fiddler卡死,只是希望给未来写Fi ...

  8. 用 Python 下载抖音无水印视频

    说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下. 很多人学 ...

  9. java开发最新获取抖音无水印视频和背景音乐

    java版最新获取抖音无水印视频和背景音乐, 这个工具已经被我放到我的网站上做成了在线抖音无水印获取工具: 在线演示地址:http://www.yzcopen.com/video/dywsy 废话不多 ...

最新文章

  1. 轻量级大规模机器学习算法库Fregata开源:快速,无需调参
  2. OSError: Cannot initialize new instance of inotify, Errno=Too many open files (EMFILE) 问题解决
  3. 跟踪Makefile输出调试信息
  4. redis的安装和测试
  5. ndk学习6: 使用gdb调试ndk程序一
  6. 预警系统一键自动升级_东风风行新风行T5购车手册,首推1.5T自动尊贵型
  7. Java操作MySQL的中文处理方法
  8. 首页 系统相关 正文 小米手机远程和电脑互相连接及控制的方法
  9. 激光slam_激光SLAM与视觉SLAM的特点
  10. Go语言常用的并发模式(上)
  11. ftp 查看不了图片_几个常见的ftp错误问题及解决办法
  12. 虚拟化VMware之虚拟机备份(2)
  13. 《XMPP高级编程 使用JavaScript和jQuery》
  14. 计算机主板清理,终于理解如何清洗电脑主板
  15. c# DGV导出excel 使用object类型数组,解决string类型需双击后或分列才可运算的异常
  16. 每天学一个 Linux 命令(89):alias/unalias
  17. Unity2021稳定版+Directory Monitoring
  18. 100m光纤测速多少正常_100M,200M,500M,1000M,带宽测速参照表,测试结果(建议收藏)...
  19. 用c语言写一段英文对话,三年级英语对话
  20. Tomcat报错:waiting for changelog lock.

热门文章

  1. IC封装尺寸信息中的BSC是什么意思?
  2. 正在连接localhost...无法打开到主机的连接。 在端口 8080: 连接失败
  3. get_calib_data_observ_contours算子说明
  4. GO 发送邮件,官方连包都帮我们写好了
  5. 在多声卡的情况下使用修改注册表的方法设置默认声卡
  6. 拼多多Java岗校招-4面获得年薪66万offer
  7. 翻译:(MPN-Cov)Is Second-order Information Helpful for Large-scale Visual Recognition?
  8. c 语言整人代码大全,C 语言整人代码大全.doc
  9. 【AWS云从业者基础知识笔记】——模块5:存储和数据库
  10. Python 金融量化 均线系统交易策略专题(简单移动平均,加权移动平均,指数加权移动平均,异同移动平均MACD等解读与绘图)