public function douyin($url){
$headers = [
'Connection' => 'keep-alive',
'Host' => 'aweme.snssdk.com',
'User-Agent'=>'Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 Version/12.0 Safari/604.1'
];
$client = new Client(['headers'=>$headers]);
//允许重定向获取html
$res = $client->request('GET', $url,['allow_redirects' => true]);
$html = (string)$res->getBody();
$Query = QueryList::getInstance();
$video_src = $Query->html($html)->find('video')->src;
//爬虫视频地址
$video_src = str_replace("playwm","play",$video_src);
//获取url地址之后不能让他重定向
$res = $client->request('GET', $video_src,['allow_redirects' => false]);
$data['video_src']= $res->getHeaderLine('location');
//视频封面
$video_cover = $Query->html($html)->find('.video-poster')->style;
$video_cover = str_replace("background-image:url(","",$video_cover);
$data['video_cover'] = trim($video_cover,')');
$video_title = $Query->html($html)->find('.user-title')->text();
$title = explode('@',$video_title);
for ($i=0;$i<count($title);$i++){
$video_title = str_replace('@'.$title[$i],"",$video_title);
}
$title = explode('#',$video_title);
for ($i=0;$i<count($title);$i++){
$video_title = str_replace('#'.$title[$i],"",$video_title);
}
$video_title = str_replace("抖音","",$video_title);
$data['video_title'] = trim($video_title);
return $data;
}如果各位大神觉得我写的好可以去我的简书查看详细分析原理哦:ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。