您的位置:首页 > 移动开发 > 微信开发

微信文章抓取

2017-08-16 09:48 162 查看
<?php
class Wxarticle {
/**
*
* 解析文章内容并组织返回参数
*
*/
public function parseArticle($url){
$con = file_get_contents($url);
//正则表达式分为标题和内容
$title_preg = '|<title>(.*)</title>|iUs';
$content_preg = '|<div class="rich_media_content " id="js_content">(.*)</div>|iUs';
$img_preg = '|msg_cdn_url = "(.*)";|iUs';
$soure_preg = '|<span class="rich_media_meta rich_media_meta_text rich_media_meta_nickname">(.*)</span>|iUs';
preg_match($title_preg,$con,$title_arr);//获取标题
preg_match($img_preg,$con,$img_arr);//获取缩略图
preg_match($content_preg,$con,$content_arr);//获取文章主体
$preg_img="#<img.*src=\"(.*)\".*/>#iUs";
preg_match_all($preg_img, $content_arr[1],$arr_img);
// 组织返回参数
$data = array();
$data['title']    = str_replace(' ',' ',$title_arr[1]);
$data['thumbnail']= $this->qiniu($img_arr[1]) ? $this->qiniu($img_arr[1]) : '';
$data['content']  = trim($this->getContent($arr_img[1],$content_arr[1]));
return $data['title'] && $data['content'] ? $data : array();
}

/**
*
* 替换文章正文图片并返回正文主体
*
*/
protected function getContent($arr_img,$content){
foreach ($arr_img as $v){
$img = $this->qiniu($v);
$content = str_replace('data-src="'.$v.'"','src="'.$img.'"',$content);
}
return $content;
}

/**
*
* 七牛图片上传
*
*/
protected function qiniu($url){
//微信文章图片有防盗链我想大家应该都是知道的,建议将匹配出来的图片传到七牛或者其他云服务
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式