
从0开始写一个短视频去水印接口
最近有人问我如何写一个短视频无水印解析的接口,这里博主为大家提供一下思路。由于平常刷皮皮虾
比较多 所以这里拿皮皮虾
做演示 其他短视频去水印思路也大致相同
所需工具
获取链接
去皮皮虾
获取视频的分享链接,这一点相信大家都会

获取到的链接https://h5.pipix.com/s/hukXsy
打开链接
使用Edge浏览器
打开我们获取的视频链接https://h5.pipix.com/s/hukXsy
(当然你也可以选择其他浏览器,博主使用Edge是因为他的开发者工具是中文 对小白友好 方便进行演示)
我们看到地址栏发生了变化 说明这个链接进行了一次跳转 此时的链接变成了
1
| https://h5.pipix.com/item/6706391587317881095?app_id=1319&app=super×tamp=1561611874&user_id=52595782540&carrier_region=cn®ion=cn&language=zh&utm_source=weixin
|

开始抓包
我们按下键盘的F12
唤出开发者工具
选择网络(Network)
选择保留日志(Preserve log)
然后刷新页面 我们会抓到网页所有发送的请求

得到接口
按下键盘Ctrl+F
检索视频标题
我们会看到一个请求链接
(看到这个链接可爱的博主眉头一皱发现了一个惊天秘密)

1
| https://h5.pipix.com/bds/webapi/item/detail/?item_id=6706391587317881095&source=share
|
双击或者右键打开这个链接
你会发现出现一堆JSON
(一般官方接口大都是返回JSON
格式) 大家可以去https://www.json.cn/
格式化一下方便查看


格式化之后我们可以按下键盘Ctrl+F
搜索video
这样我们就得到了没有水印的视频链接

写成接口
思路
1 2 3 4 5 6
| // 获取的分享链接 https://h5.pipix.com/s/hukXsy // 跳转后的链接 https://h5.pipix.com/item/6706391587317881095?app_id=1319&app=super×tamp=1561611874&user_id=52595782540&carrier_region=cn®ion=cn&language=zh&utm_source=weixin // 我们抓到的官方接口 https://h5.pipix.com/bds/webapi/item/detail/?item_id=6706391587317881095&source=share
|
博主看到这里一拍大腿 6706391587317881095
这串神秘的数字 难道存在某些不为人知的秘密?这一切究竟是道德的沦丧 还是人性的扭曲 欢迎收看今晚…
是不是我们获取跳转后的链接item/
和?app_id
中的这串数字 填写到官方接口item_id=
和&source
中间就得到了无水印的视频下载地址 省掉了中间抓包的繁琐(一瞬间博主感觉智商比肩爱因斯坦) 有了思路后博主用世界上最好的语言写出了一个接口
演示代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <?php header("Access-Control-Allow-Origin: *");
$url = @$_GET['url'];
$loc = get_headers($url, true)["location"];
$left = 'item/';
$right = '?app_id';
$id = GetBetween($loc,$left,$right);
$data =curl('https://h5.pipix.com/bds/webapi/item/detail/?item_id='.$id);
$arr = json_decode($data,true);
$Json = array( "title" => $arr["data"]["item"]["video"]["text"], "cover" => $arr["data"]["item"]["origin_video_download"]["cover_image"]["url_list"]["0"]['url'], "url" => $arr["data"]["item"]["origin_video_download"]["url_list"]['0']['url'], ); $Json = json_encode($Json,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE); echo stripslashes($Json); return $Json;
function GetBetween($content,$start,$end) { $r = explode($start, $content); if (isset($r[1])) { $r = explode($end, $r[1]); return $r[0]; } return ''; }
function curl($url) { $con=curl_init((string)$url); curl_setopt($con,CURLOPT_HEADER,False); curl_setopt($con,CURLOPT_SSL_VERIFYPEER,False); curl_setopt($con,CURLOPT_RETURNTRANSFER,true); curl_setopt($con,CURLOPT_TIMEOUT,5000); $result = curl_exec($con); return $result; } ?>
|
测试请求
访问链接 你的域名/ppx?url=https://h5.pipix.com/s/hukXsy/
,就会返回如下数据
1 2 3 4 5
| { "title":"标题交给你们了。", "cover":"https://p9-ppx.byteimg.com/img/mosaic-legacy/2ab8400068ec7576befea~272x480_q80.jpeg", "url":"http://v3-ppx.ixigua.com/35c007900ce2fabfe64f00734bfb639b/5f16f7aa/video/tos/hxsy/tos-hxsy-ve-0076/41064fc495f04f029e8629421b1352fd/?a=1319&br=1041&bt=347&cr=0&cs=0&dr=3&ds=1&er=&l=20200721211141010014043146120A948E&lr=&mime_type=video_mp4&qs=0&rc=anl4PGd0bDl4bjMzZGYzM0ApZGk1NTRpNjs5N2k4NDxnZGctYGsucWdjNDVfLS0yMS9zczMxLV82XjA0NDA0XzMuY2I6Yw%3D%3D&vl=&vr=" }
|
写在后面
有些其他短视频会直接把真实地址输出在网页源代码里 直接用正则匹配即可正则就是一把梭 输入(.*?)就是干有什么不懂的留言即可
此文章仅供学习交流,如有侵权请联系博主删除