小弟最近在研究搜索引擎,打算利用C#简单实现个搜索引擎。现在有这样的问题:我对网页的内容进行解析,然后将页面中的主要内容保存到数据库中,<A>可以获取接下来要解析的html。<TITLE>可以获得网页的主要标题。但是网页中的主要内容如何获取呢?每个网页在什么html标签中是主要内容不是确定的啊!可能在<p>,也可能直接就在个<div>中,像这样的情况如何解决呢?如何将主要内容抓取保存下来呢?如何html中有:
<meta name="keywords" content="体育,体育新闻,NIKE新浪竞技风暴,奥运,2008,北京奥运,奥运会" />
<meta name="description" content="新浪体育提供最快速最全面最专业的体育新闻和赛事报道,主要有以下栏目:国内足球、国际足球、篮球、NBA、综合体育、奥运、F1、网球、高尔夫、棋牌、彩票、视频、图片、博客、社区论坛" />
这样是比较标准的,题目和主题就都能抓取出来了,但是并不是所有的网页都是这样....那么description应该如何获取呢?期待高手的指教!谢谢!

解决方案 »

  1.   

    抓取内容使用正则获取相关内容
    Regex re = new Regex("(?i)(?<=<meta\\s+name=\"description\"\\s+content=\")[^\"]+");
                foreach (Match m in re.Matches(“”))
                {
                    Console.WriteLine(m.Value);  
                }
      

  2.   


    谢谢.如何没有<meta name="description" content=""/>怎么办??
      

  3.   

    没有就获取除了HTML标签的文字,100个字符,或者更多一点
      

  4.   

    恩,这是我想要的效果,但是如何实现呢?html有很多标签,哪些标签中的内容是核心内容并不能确定啊,导航中的文字不用获取出来吧。并不是所有的文字都是想要的核心内容,广告什么的就不用取出来,怎么办?
      

  5.   

    http://www.google.cn/search?hl=zh-CN&rls=com.microsoft%3Azh-cn%3AIE-SearchBox&newwindow=1&q=%E5%9E%82%E7%9B%B4%E6%90%9C%E7%B4%A2+.net&aq=f&oq=
      

  6.   

    别问了直接去研究 基于Lucene.Net垂直搜索