欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

新浪新闻采集程序

程序员文章站 2022-05-04 14:36:17
...
利用正则表达式提取内容信息
<?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('/"url":".*l/U',$doc,$article);//获取文章列表
    $article=current($article);//二维数组转一维数组
    //print_r($article);
    $rule="/\"url\":(.*)\"\"/";
    function OnlyUrl($string){
       $string=stripslashes($string);
       $string=str_replace('"url":"',"",$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;
  }
?>