事先说明,写这个抖音小视频地址解析文章完全是最近不知道写什么,本来想写个头条西瓜视频解析的,写了一半发现头条用js加密了,解析比较麻烦,改天有空了再搞吧。先看看今天的抖音小视频解析源码,源码非常简单,保证一看就会。
效果如下
第一步你需要在抖音APP上使用分享功能取得该视频的分享地址,也就是网页版的地址。
第二步,看下面的代码。
复制
<?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 '没有地址参数'; }else{ $array = ['name' => $name['desc'],'url' => $url['url'],]; $json = json_encode($array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT); echo $json; } ?>
将上面的代码复制下来,保存为PHP文件,使用浏览器访问,在URL后面加上?url=第一步取得的地址,即可解析出该视频的标题与视频资源地址。
简单说一说这段代码干了什么吧,其实也没什么可说的,第一步定义返回的是json数据,然后取得get方法传递过来的URL地址,就算我们第一步得到的网址。然后定义了一个UA,使用PHP的curl方法模拟访问该网页。
再接着就用了个正则匹配,判断了一下是否正确解析,最后取得标题与视频地址,json编码并输出。
评论 (4)