C# 从许多HTML页面中提取文本和标题的有效方法

C# 从许多HTML页面中提取文本和标题的有效方法,c#,html,matlab,html-agility-pack,C#,Html,Matlab,Html Agility Pack,我想知道从许多(1000个html页面)中提取文本的有效方法,并将从每个页面提取的每个文本存储为自己的html页面名称 方法是尽可能提取那些页面所谈论的内容。。 我经过测试,看到了一些问题和答案。。但是对于提取的纯文本来说,它是无效的 对于以下示例。。有很多信息,比如链接和格式代码、标签和其他我不感兴趣的信息。。所以这一页 <html> <title>Sport today and tomorrow </title> <body>

我想知道从许多(1000个html页面)中提取文本的有效方法,并将从每个页面提取的每个文本存储为自己的html页面名称

方法是尽可能提取那些页面所谈论的内容。。 我经过测试,看到了一些问题和答案。。但是对于提取的纯文本来说,它是无效的

对于以下示例。。有很多信息,比如链接和格式代码、标签和其他我不感兴趣的信息。。所以这一页

<html>
    <title>Sport today and tomorrow </title>
    <body>
           <h1> sport players.</h1>
           something....
           <h3> sport plays </h3>
           <img src="sport.jpg"/>
    </body>
</html>

今天和明天的运动
体育运动员。
某物
体育比赛
因此,提取的信息存储在具有该页面名称的文本文件中,并且仅包含: 页面标题=运动。。。 内容=运动

我的问题是有什么工具或软件可以做到这一点? 处理这个问题的领域叫什么。。像DOM还是其他人

我会感谢任何人能给我一个关于这个问题的说明

我的编程语言是C#。。Matlab感谢

使用,您可以通过IHtmlDocument.title获取title元素,并使用LINQ获取标题元素。以下是控制台应用程序中的一个示例:

using AngleSharp.Dom.Html;
using AngleSharp.Parser.Html;

....

var raw = @"<html>
    <title>Sport today and tomorrow </title>
    <body>
           <h1> sport players.</h1>
           something....
           <h3> sport plays </h3>
           <img src=""sport.jpg""/>
    </body>
</html>";
var parser = new HtmlParser();
var document = parser.Parse(raw);

var title = document.Title;
var headings = document.All
                       .OfType<IHtmlHeadingElement>()
                       .Select(h => h.TextContent.Trim())
                       .ToList();
Console.WriteLine(title);
Console.WriteLine();
foreach (var heading in headings)
{
    Console.WriteLine(heading);
}

你在寻找一种特定的内容模式吗?你所说的标题和文本到底是什么意思?标题为
元素的内部文本,文本为任何元素的内部文本?在StackOverflow中,仅仅要求提供工具或软件是不符合主题的。看看Anglesharp,它声称是在更新之后,我认为我对标题的看法是正确的,但关于文本仍然不清楚。它是
h1
h2
h3
中的文本吗。。标签?是的,我指的是正文内的文字标签,看起来像h1,h2,等等。。用于声明每页所谈论的内容。。
Sport today and tomorrow

sport players.
sport plays