|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > PHP经验积累 > PHP使用curl抓取微信封面图的代码
PHP使用curl抓取微信封面图的代码

PHP使用curl抓取微信封面图的代码

日期:2021-06-29 浏览量:1291 原创作者:湖八爷
我之前分享过两篇文章,教大家怎么获取微信公众号的封面图片。

一篇是成品软件版,微信公众号封面获取软件,大家可以下载软件直接使用;另外一篇是手动操作版本

然后就有同学私信问我能不能把代码分享出来?所以今天这篇文章就给大家分享一下PHP版的抓取微信公众号封面图的代码。


废话不多说,直接看代码,写的不好的地方,希望大佬们能指出来。


//首先写一个下载图片的函数
function download_img($url = "", $filename = "") {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    ob_start();
    curl_exec($ch);
    $return_content = ob_get_contents();
    ob_end_clean();
    $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if($return_code == 200){
        $fp= @fopen($filename, "a"); //将文件绑定到流
        fwrite($fp, $return_content); //写入文件
        return true;
    }else{
        return false;
    }
}

$url = 'https://mp.weixin.qq.com/s/QGIThgsRmDxT9WD29lBsuw';//这里就是需要获取的目标微信公众号的文章链接
$content = file_get_contents($url);
preg_match_all("/.*?msg_cdn_url = "(.*?)"/", $content, $result);
$imgurl = $result[1][0];
$suffix = explode('=',$imgurl);
$path = './public/wximages/';
if(!is_dir($path)){
    mkdir($path, 0777, true);
}
$res = download_img($imgurl, $path.time().'.'.$suffix[1]);//下载获取到的封面图
if($res){
    echo '图片下载成功!';
}else{
    echo '图片下载失败!';
}