如何从 HTML 中提取表格

从 HTML 中提取表格的能力对于各种应用程序(例如网页抓取和内容分析)非常重要。 Aspose.HTML for .NET 是一个强大的库,它为开发人员提供了一套工具来无缝导航和收集 HTML 文档中的信息,从而简化了这一过程。让我们探讨如何从 HTML 文档中提取表格。

首先,确保您的项目中安装了 Aspose.HTML for .NET。 这个库的安装过程非常简单。 打开 NuGet 包管理器,搜索 Aspose.HTML,然后安装。 您还可以从包管理器控制台使用以下命令:


安装 Aspose.HTML for .NET

Install-Package Aspose.HTML



使用 C# 提取 HTML 表

Aspose.HTML for .NET API 提供了一个强大的工具集来分析和收集 HTML 文档中的信息。您可以使用几行 C# 代码来提取 HTML 表格。以下示例演示如何查找 HTML 文档中的所有<table>元素,为每个表创建单独的 HTML 文件,并将它们保存在输出目录中。每个输出 HTML 文件仅包含源 HTML 文档中的一个表。


从 HTML 中提取表格的 C# 代码

using Aspose.Html;
using System.IO;
using System.Collections.Generic;
...

    // Prepare a path to a source HTML file
    string documentPath = Path.Combine(DataDir, "tables.html");

    // Create an instance of an HTML document
    using (var document = new HTMLDocument(documentPath))
    {
        var tables = document.GetElementsByTagName("table");
        var result = new List<Dictionary<string, string>>();
        var i = 0;
        foreach (var table in tables)
        {
            // Save table to new html document
            var newFileName = "table" + i + ".htm";
            var newDoc = new HTMLDocument(table.OuterHTML, Path.Combine(OutputDir, newFileName));
            newDoc.Save(Path.Combine(OutputDir, newFileName));
            i++;
        }
    }



从 HTML 中提取表格的步骤

  1. 使用 HTMLDocument() 构造函数初始化 HTML 文档。将源 HTML 文件的路径作为参数传递给构造函数。
  2. 使用 GetElementsByTagName("table") 方法收集所有 <table> 元素。该方法返回 HTML 文档的<table>元素的列表。
  3. 启动一个循环来迭代每个表元素:
    • 为 HTML 表格文件创建一个新文件名。
    • 使用 HTMLDocument(content, baseUri) 构造函数使用表元素的 OuterHTML 属性和新文件名创建 HTML 文档的新实例。
    • 使用 Save() 方法将新创建的 HTML 文档保存到输出目录。

要了解有关 Aspose.HTML API 的更多信息,请访问我们的 文档 指南。 Aspose.HTML for .NET 是一个高级 HTML 解析库,允许您创建、编辑和转换 HTML、XHTML、MD、EPUB 和 MHTML 文件。 Data Extraction 文档部分介绍了如何使用 Aspose.HTML for .NET 自动检查、收集和提取网页中的数据。在本部分的文章中,您将了解如何导航 HTML 文档并对其元素执行详细检查、从 URL 保存网站或文件、从网站提取不同类型的图像等等。



HTML 表格生成器 – 在线应用程序

Aspose.HTML 提供的 HTML 表生成器 是一个在线应用程序,用于创建具有可自定义选项的表。它是免费且易于使用的。只需填写所有必填选项即可获得结果! HTML 表格生成器自动创建 HTML 表格代码。该工具旨在让您获得所需的 HTML 表格并尽快将其放到网上。