使用URL获取页面主内容

时间:2012-08-21 14:24:28

标签: c# asp.net url

我需要能够从某个网址获取网页主要内容。 我需要做的一个非常好的例子如下:http://embed.ly/docs/explore/preview?url=http%3A%2F%2Fedition.cnn.com%2F2012%2F08%2F20%2Fworld%2Fmeast%2Fflight-phobia-boy-long-way-home%2Findex.html%3Fiid%3Darticle_sidebar

我正在使用带有C#语言的asp.net。

2 个答案:

答案 0 :(得分:4)

解析html页面并猜测主要内容并非易事。我建议您使用NReadabilityHtmlAgilityPack

以下是如何完成的示例。在NReadability对页面进行转码后,主文本始终位于div且标识为readInner

string url = "http://.......";

var t = new NReadability.NReadabilityWebTranscoder();
bool b;
string page = t.Transcode(url, out b);

if (b)
{
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    doc.LoadHtml(page);

    var title = doc.DocumentNode.SelectSingleNode("//title").InnerText;
    var text = doc.DocumentNode.SelectSingleNode("//div[@id='readInner']")
                  .InnerText;
}

答案 1 :(得分:0)

曼,

我想这是使用WebClient ClassWebRequest Class的实现制作的。有了它,您可以下载所有页面内容,然后使用任何数据挖掘算法,您可以获得所需的信息。

[]的