AngleSharp 是一个用于处理 HTML 和 XML 的 .NET 库。它提供了一个强大的 DOM API,支持解析、修改和操作 HTML。下面是一个使用 AngleSharp 来解析 HTML 网页元素的基本示例:
首先,你需要安装 AngleSharp。你可以通过 NuGet 包管理器来安装它。在 Visual Studio 中,打开“工具”菜单,选择“NuGet 包管理器”,然后选择“管理解决方案的 NuGet 包”。搜索 AngleSharp 并安装它。
然后,创建一个 C# 控制台应用程序,并使用以下代码来解析 HTML 元素:
csharpusing System;
using System.Net.Http;
using System.Threading.Tasks;
using System.IO;
using AngleSharp; // 引入AngleSharp命名空间
class Program
{
static async Task Main(string[] args)
{
string url = "http://example.com"; // 替换为你要抓取的网页URL
string outputFile = "output.txt"; // 输出文件名
await DownloadWebPage(url, outputFile);
}
static async Task DownloadWebPage(string url, string outputFile)
{
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
string html = await response.Content.ReadAsStringAsync();
// 创建AngleSharp的Document对象并加载HTML内容
var document = await AngleSharp.Parser.Default.ParseAsync(html);
// 获取要提取的元素,例如标题、段落等。这里我们获取所有的<p>标签元素。
var paragraphs = document.QuerySelectorAll("p"); // 使用CSS选择器来选择元素
if (paragraphs != null)
{
foreach (var para in paragraphs)
{
// 输出每个段落的内容到控制台或写入文件
Console.WriteLine(para.InnerHtml); // 输出到控制台
// File.WriteAllText(outputFile, para.InnerHtml); // 写入文件(如果需要)
}
}
}
}
在这个示例中,我们首先使用 HttpClient 从指定的 URL *载下** HTML 内容。然后,我们使用 AngleSharp 的 Parser 类来解析 HTML,并将结果存储在一个 Document 对象中。通过 QuerySelectorAll 方法,我们可以选择我们要提取的元素。在这个例子中,我们选择了所有的 <p> 标签元素,并输出了它们的内部 HTML 到控制台。如果你想将内容写入文件,可以使用 File.WriteAllText 方法。