实现思路
1、分析页面,使用GuzzleHttp请求分析 (GuzzleHttp在querylist 版本4会依赖GuzzleHttp)
public function weishi($url){
parse_str($url,$params);
$feedid = $params['id'];
$headers = [
'Connection' => 'keep-alive',
'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
$baseUrl = 'https://h5.qzone.qq.com/webapp/json/weishi/WSH5GetPlayPage?t=0.4185745904612037&g_tk=';
$res = $client->request('POST', $baseUrl,['form_params' => ['feedid' => $feedid,]]);
$json = $res->getBody();
$result = json_decode($json,true);
if ($result['ret']==0){
$video = $result['data']['feeds'][0];
$data['video_src']= $video['video_url'];
$data['video_cover'] = $video['images'][0]['url'];
$video_title = $video['feed_desc'];
$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);
}
$data['video_title'] = $video_title;
$data['video_width'] = $video['images'][0]['width'];
$data['video_height'] = $video['images'][0]['height'];
return $data;
}
}如果各位大神觉得我写的好可以去我的简书查看详细分析原理哦:https://www.jianshu.com/p/ae7426a6587b
随便打赏一下,将是我解析市面上所有去水印短视频的动力哦
