PHP获取微信公众号文章内视频与音频真实地址
微信公众号的文章的爬取可以看到这个项目:github 基于QueryList的微信公众号文章获取工具
有任何问题可以留言。
返回数据:
- 包含音频和视频
- 包含多个视频
原有找到的文章 如何抓取微信公众号文章里面的视频 中间只有原本的公众号文章内的腾讯视频的获取,本方案增加了微信视频素材的获取和音频的获取。优化了腾讯视频获取的方案。
- 文章内腾讯视频的真实地址获取
- 文章内的视频素材的真实地址获取
- 文章内的音频的获取
- 文章资源下载
请求
<?php
//var_dump($_GET);
$con = new Con();
$url = $_GET['url'];
$res = $con->actionGetwx($url);
var_dump($res);
die;
获取资源
/**
* Class con
* @author Fawkes
* @time 2020-10-28
*/
class con {
/**
* 抓取微信公众号的文章和里面的视频 url
* @param $url
* @return array|bool
*/
public function actionGetwx($url) {
if (empty($url)) {
echo '请输入公众号文章地址';
return false;
}
$info_id_arr = $this->getChatInfoId($url);
//获取真实地址链接
$info_arr = [];
foreach ($info_id_arr as $key=>$value){
//获取视频
switch ($key){
case 'video':
$info_arr['video'] = [];
if(!empty($value)){
foreach ($value as $vid){
$video_json = Tools::getVqqInfo($vid);
if(!empty($video_json['msg']) && $video_json['msg'] == 'vid is wrong'){
//检测微视
$return = $this->weishiQQCom($vid);
}else{
//腾讯视频的真是地址获取
$return = $this->vQQCom($video_json);
}
$info_arr['video'][] = $return;
};
}
break;
case 'voice':
$info_arr['voice'] = [];
if(!empty($value)){
foreach ($value as $vid){
$return = $this->voiceInfo($vid);
$info_arr['voice'][] = $return;
};
}
break;
default:
break;
}
}
return $info_arr;
}
/**
* 获取公众号中的资源 音频和视频
* @param $url
* @return array
*/
public function getChatInfoId($url){
//微信的链接有长链和短链,以下为长链
//$url ='http://mp.weixin.qq.com/