一篇是成品软件版,微信公众号封面获取软件,大家可以下载软件直接使用;另外一篇是手动操作版本。
然后就有同学私信问我能不能把代码分享出来?所以今天这篇文章就给大家分享一下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 '图片下载失败!'; }