• 使用百度新闻RSS


    function getbaidu() {
    $result="";
        //RSS源地址列表数组  
    $rssfeed = array("http://news.baidu.com/ns?word=title%3A%BD%F0%C8%DA&tn=newsrss&sr=0&cl=2&rn=10&ct=0");  
       
    //设置编码为UTF-8  
    header('Content-Type:text/html;charset= UTF-8');       
       
    for($i=0;$i<sizeof($rssfeed);$i++){//分解开始  
        $buff = "";  
        $rss_str="";  
        //打开rss地址,并读取,读取失败则中止  
        $fp = fopen($rssfeed[$i],"r") or die("can not open $rssfeed");   
        while ( !feof($fp) ) {  
            $buff .= fgets($fp,4096);  
        }  
        //关闭文件打开  
        fclose($fp);  
              
        //建立一个 XML 解析器  
        $parser = xml_parser_create();  
        //xml_parser_set_option -- 为指定 XML 解析进行选项设置  
        xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);  
        //xml_parse_into_struct -- 将 XML 数据解析到数组$values中  
        xml_parse_into_struct($parser,$buff,$values,$idx);  
        //xml_parser_free -- 释放指定的 XML 解析器  
        xml_parser_free($parser);  
          $link="";
          $title="";
          
        foreach ($values as $val) { 
            $value="" ;    
            $tag = $val["tag"];  
            $type = $val["type"];          
             
            if(array_key_exists('value', $val)){
            $value = $val["value"];  
            }
            
             //标签统一转为小写  
            $tag = strtolower($tag);  
            //title 和 link
              if($value!="")
              {
                  if ($tag == "title")
                 {$title = $value;}          
                  if ($tag == "link") 
                 {$link = $value;}
                 if($link=='news.baidu.com')
                 {
                    $link=""; 
                 }
                  if($title=='news.baidu.com')
                 {
                    $title=""; 
                 }
                 if($link=='http://news.baidu.com')
                 {
                    $link=""; 
                 }
                  if($title=='http://news.baidu.com')
                 {
                    $title=""; 
                 }
              }
             
            //当两项都不为空时,输出并清空
            if($title<>""&&$link<>"")
            {
                //echo "<a href='".$link."' target=_blank>".$title."</a><br />";
                //$result[]=array('title'=>$title,'link'=>$link);
                            $result.='<li><a href="'.$link.'" alt="'.$title.'" target=_blank>'.$title.'</a></li>';
                $title="";
                $link="";
            }        
        }  
        //输出结果  
        
    } 
    return $result;
    }
  • 相关阅读:
    gitlab centos 安装配置运维笔记
    CentOS 7 升级内核 Kernel
    VMware 桥接模式 复制物理网络连接状态的作用
    diskpart setid value list
    怎样判断Windows的DPI大小?
    Camtasia Studio 6录制视频时鼠标闪烁的解决办法
    ssh的各个jar包作用
    MyEclipse优化技巧
    Struts详细用法
    Ajax的readyState和status属性
  • 原文地址:https://www.cnblogs.com/meieiem/p/3599926.html
Copyright © 2020-2023  润新知