【问题标题】:Extract news links from news website从新闻网站中提取新闻链接
【发布时间】:2011-02-14 23:51:45
【问题描述】:

有没有可靠的方法来找出指向我们详细新闻页面的链接集合。换句话说,在访问网站的第一页后,我只想要那些引用新闻项目的链接。有什么解决办法吗?

【问题讨论】:

    标签: c# information-retrieval html-content-extraction


    【解决方案1】:

    如果是针对某个网站,您总是可以尝试获取该网站的 HTML 并使用正则表达式提取新闻文章的链接。只需在 HTML 中找到您的代码可以用来识别链接位置的片段。

    我这样做了几次以从网站上抓取一些信息。

    但也许是一个显而易见的问题,网站上没有可用的 RSS 提要?

    【讨论】:

      【解决方案2】:

      您可以执行一个简单的 WebRequest 并下载一个页面并通过 html 搜索您想要解析的内容。

         WebRequest req = WebRequest.Create
                    ("http://www.domain.com/news.html");
          req.Proxy = null;
          using (WebResponse res = req.GetResponse())
          using (Stream s = res.GetResponseStream())
          using (StreamReader sr = new StreamReader(s))
              File.WriteAllText("news.html", sr.ReadToEnd());
          //search through html page for news content.
      
          System.Diagnostics.Process.Start("news.html");
      

      【讨论】: