C# 从许多HTML页面中提取文本和标题的有效方法
我想知道从许多(1000个html页面)中提取文本的有效方法,并将从每个页面提取的每个文本存储为自己的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>
<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