首頁 >php教程 >PHP源码 >新浪新闻采集程序

新浪新闻采集程序

PHP中文网
PHP中文网原創
2016-05-25 16:58:431231瀏覽

利用正则表达式提取内容信息

<?php
    //error_reporting(0);
    $date=date("Ymd");
    //echo $date;
    $url="http://top.finance.sina.com.cn/ws/GetTopDataList.php?top_type=day&top_cat=all&top_time=".$date."&top_show_num=20&top_order=ASC";
    $doc=file_get_contents($url);
    header("Content-Type:text/html;charset=gb2312");//UNICODE转GB2312
    //echo $doc;
    preg_match_all(&#39;/"url":".*l/U&#39;,$doc,$article);//获取文章列表
    $article=current($article);//二维数组转一维数组
    //print_r($article);
    $rule="/\"url\":(.*)\"\"/";
    function OnlyUrl($string){
       $string=stripslashes($string);
       $string=str_replace(&#39;"url":"&#39;,"",$string);
       return $string; 
    }
     
    function GetTitle($url){  //获取文章标题
      $doc=file_get_contents($url);
      $rule="/<h1 (.*)<\/h1>/";
      preg_match($rule,$doc,$result);
      echo $result;
    }
    foreach($article as &$value){
        $value=OnlyUrl($value);
    }//提取了URL 
?>
<?php
  function GetTitle($url){  //获取文章标题
    $rule="/<h1 (.*)<\/h1>/";
    preg_match_all($rule,$doc,$result);
    $rule="/>(.*)</";//截掉<h1></h1>
    preg_match($rule,$result[0][1],$title);
    return $title[1];
  }
  function GetContent($url){
    $doc=file_get_contents($url);//打开网页
  // echo $doc; 
    $rule="/publish_helper(.*)publish_helper_end/xs";
    preg_match($rule,$doc,$result);//取出正文部分
    //echo $result[0];
    $rule="/publish_helper(.*)<\/blockquote>/xs";
    preg_match($rule,$result[0],$out);//取出链接部分
    //print_r($out);
    $content=str_replace($out[0],"",$result[0]);//提取纯文字段的内容
    echo $content;
  }
?>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn