登录  /  注册
首页 > php教程 > php手册 > 正文
php 文章采集正则代码
php中文网
发布: 2016-06-13 12:19:36
原创
748人浏览过

复制代码 代码如下:


//采集html
function getwebcontent($url){
$ch = curl_init();
$timeout = 10;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
$contents = trim(curl_exec($ch));
curl_close($ch);
return $contents;
}


//获得标题和url
$string =
getwebcontent('http://www.***.com/learn/zhunbeihuaiyun/jijibeiyun/2');
//正则匹配

  • 获取标题和地址
    preg_match_all ("/
  • (.*)<\/a>/",$string, $out, PREG_SET_ORDER);
    foreach($out as $key => $value){
    $article['title'][] = $out[$key][2];
    $article['link'][] = "http://www.***.com/learn/article/".$out[$key][1];
    }
    //根据url获取文章内容
    foreach($article['link'] as $key=>$value){
    $content_html = getwebcontent($article['link'][$key]);
    preg_match("/
    [\s|\S]*?<\/div>/",$content_html,$matches);
    $article[content][$key] = $matches[0];

    }
    //不转码还真不能保存成文件
    foreach($article[title] as $key=>$value){
    $article[title][$key] = iconv('utf-8', 'gbk', $value);//转码
    }
    //存入文件
    $num = count($article['title']);
    for($i=0; $i<$num; $i++){
    file_put_contents("{$article[title][$i]}.txt", $article['content'][$i]);
    }
    ?>

  • 来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习
    PHP中文网抖音号
    发现有趣的

    Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

     | 本站CDN由 数掘科技 提供

    登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学