不知道各位同胞有没有抓过新闻,就拿新浪的那个RSS聚合频道来说,整站15个栏目大概2,3万条新闻一次性抓下来,要花多少时间吖?怎么我的那个那么慢。问题补充:
<title>
   <![CDATA[[社会]视频:实拍消防队员用手刨沙石救出被埋女子(08/06 13:09)]]>
</title>
<pubDate>Fri, 6 Aug 2010 05:09:12 GMT</pubDate>
标题像这样的,有没有什么系统自带的函数或方法直接拿到里面的文字?
日期像这样的,可不可以直接转换为 2010-08-06 05:09:12

解决方案 »

  1.   

    RSS聚合的格式都是xml。你按xml的操作方式就可以了
      

  2.   

        XmlDocument myxml = new XmlDocument();
                   
                    myxml.Load(filePath);
                    //获取父节点下的第一个字节点,定位channel节点
                    XmlNode channel = myxml.DocumentElement.FirstChild;
                    //定位item节点,外层循环channel
                    foreach (XmlNode node in channel.ChildNodes)
                    {
                       
                        if (node.Name == "item")
                        {
                            Article atcl = new Article();
                            
                            //内层循环item
                            foreach (XmlNode subnode in node.ChildNodes)
                            {
                                if (subnode.Name == "title")
                                {
                                    atcl.Title = subnode.InnerText;
                                }
                                if (subnode.Name == "link")
                                {
                                    atcl.Url = subnode.InnerText;
                                }
                                if (subnode.Name == "description") 
                                {
                                    atcl.Content = subnode.InnerText;
                                }
                            }
                            //将文章添加到文章列表
                            Articles.Add(atcl.Title, atcl);
                        }
                    }
                    return true;
                }
                catch (Exception ex)
                {                Console.WriteLine(ex.ToString ());
                    return false;
                }
            }
    下载xml文件,然后读取....看到了吧,...不过这个是c#的,仅供参考..具体的api你可以自己去chacha
      

  3.   

    RSS聚合 新闻都放在xml 文档中,
    例如百度抓取,按照特定的格式放在自己的服务器上,
      

  4.   

    晕死~~~大哥们
    $rss =& new XML_RSS("$name");
    $rss->parse();
    foreach ($rss->getItems() as $item) 
    {
        $item['title']= ~~
        $item['pubDate']=~~
    }
    这样子我已经得到title,和pubDate。
    只是title=<![CDATA[[社会]视频:实拍消防队员用手刨沙石救出被埋女子(08/06 13:09)]]>
    而我希望直接得到title=视频:实拍消防队员用手刨沙石救出被埋女子;
      

  5.   

    截吖,不就用那个explode(),还有正则表达式每句地去截吖,结果不久慢咯,慢的我睡着了
      

  6.   

    $title=preg_replace('~^<![CDATA[(.*?)]]>$~',"\\1",$title);