如何从像Pocket(稍后阅读)或可读性的HTML页面中提取文章文本内容?

Fur*_*dar 7 .net html c# article c#-4.0

我正在寻找一些开源框架或算法来从任何HTML页面中提取文章文本内容,方法是清除HTML代码,删除垃圾内容,类似于Pocket(又名Read Read Later)软件.

口袋官方网页:http://getpocket.com/

这个问题已在链接下提供: 如何从html中提取文本内容,如稍后阅读或InstaPaper Iphone应用程序? 但我的要求有点不同.我想通过保留字体和样式(CSS)来清理HTML并使用图像提取主要内容.

L.B*_*L.B 17

我会推荐NReadabilityHtmlAgilityPack

readInner在NReadability转码页面后,主文本始终在div中.

//** replace this with any url **
string url = "http://www.bbc.co.uk/news/world-asia-19457334";

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 imgUrl = doc.DocumentNode.SelectSingleNode("//meta[@property='og:image']").Attributes["content"].Value;
    var mainText = doc.DocumentNode.SelectSingleNode("//div[@id='readInner']").InnerText;
}
Run Code Online (Sandbox Code Playgroud)