.Net core 采集网页表格数据方法

这篇具有很好参考价值的文章主要介绍了.Net core 采集网页表格数据方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用 HtmlAgilityPack 库来将 HTML 表格转换为 DataTable。

首先,确保已经安装了 HtmlAgilityPack 包。可以通过 NuGet 包管理器或者通过命令行安装。

按照以下步骤将 HTML 表格转换为 DataTable:

  1. 导入命名空间:
csharpCopy Code
using HtmlAgilityPack;
  1. 创建一个方法来进行转换:
csharpCopy Code
public static DataTable ConvertHtmlTableToDataTable(string html)
{
    DataTable dataTable = new DataTable("MyDataTable");

    // 加载 HTML 字符串
    HtmlDocument doc = new HtmlDocument();
    doc.LoadHtml(html);

    // 找到表格节点
    HtmlNode tableNode = doc.DocumentNode.SelectSingleNode("//table");

    if (tableNode != null)
    {
        // 找到所有的表头行和数据行
        IEnumerable<HtmlNode> headerRows = tableNode.SelectNodes("tr[th]");
        IEnumerable<HtmlNode> dataRows = tableNode.SelectNodes("tr[td]");

        // 添加表头列到 DataTable
        if (headerRows != null)
        {
            foreach (HtmlNode headerRow in headerRows)
            {
                foreach (HtmlNode headerCell in headerRow.SelectNodes("th"))
                {
                    dataTable.Columns.Add(headerCell.InnerText.Trim());
                }
            }
        }

        // 添加数据列到 DataTable
        if (dataRows != null)
        {
            foreach (HtmlNode dataRow in dataRows)
            {
                DataRow row = dataTable.NewRow();

                for (int i = 0; i < dataTable.Columns.Count; i++)
                {
                    HtmlNode dataCell = dataRow.SelectNodes("td")[i];
                    row[i] = dataCell.InnerText.Trim();
                }

                dataTable.Rows.Add(row);
            }
        }
    }

    return dataTable;
}
  1. 调用方法进行转换:
csharpCopy Code
string html = "<table>...</table>";  // 假设这里是你的 HTML 表格字符串

DataTable dataTable = ConvertHtmlTableToDataTable(html);

注意:这段代码假设 HTML 表格的结构是标准的,即包含表头行(<tr> 元素中包含 <th> 元素)和数据行(<tr> 元素中包含 <td> 元素)。如果 HTML 结构不符合标准,可能需要进行适当的修改来适应实际情况。文章来源地址https://www.toymoban.com/news/detail-510884.html

到了这里,关于.Net core 采集网页表格数据方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Net Core中使用EF Core连接Mysql数据库

    Entity Framework Core的前身是微软提供并主推的ORM框架,简称EF,其底层是对ADO.NET的封装。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流数据库。 首先是使用时的几个模式的整理及其理解: Code First:根据代码自动创建数据库表结构甚至是数据库,可以支持多库开发,代码较少冗余

    2024年01月24日
    浏览(52)
  • .NET Core/.NET6 使用DbContext 连接数据库,SqlServer

    安装以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer:SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json:用于Json格式转换 创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件,并添加以下代码 创建一个数据库上下文类,用于定义实体类和数据库连接

    2024年02月07日
    浏览(50)
  • .NET Core(C#) IEqualityComparer<in T>接口的使用方法及示例代码

    .NET Core(C#)中IEqualityComparerT接口的对象的主要作用是实现接口来判断两个对象是否相等,以下介绍一下 IEqualityComparerin T接口的简单介绍和实现使用的方法,以及相关示例代码。   1、IEqualityComparerin T的的GetHashCode和Equals方法 IEqualityComparerin T 是用来比较对象是否相等,需要实现

    2024年02月09日
    浏览(71)
  • NET Core 6.0 webapi 简单使用+连接数据库

    ASP.NET core NET core 6.0 如何使用 在 Program.cs里面 添加对应注释 效果: Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.Sqlite.Core Newtonsoft.Json:用于Json格式转换 添加测试Api Tips:这里用到ORM查询语法 EntityFramework EF 常用增删改查语句 运行结果

    2024年02月09日
    浏览(39)
  • 如何使用 .Net Core 实现数据库迁移 (Database Migration)

    当我们在编写基于数据库的应用程序时,随着需求的增加和改变,我们需要升级我们的数据库,变更数据库表的字段,当我们的系统的不同版本被部署到了不同的客户那里,在需要给客户升级时,我们如何实现数据库模式 (schema) 的自动升级呢? 传统的管理办法是针对每个数

    2024年02月05日
    浏览(55)
  • .NET Core反射获取带有自定义特性的类,通过依赖注入根据Attribute元数据信息调用对应的方法

    前段时间有朋友问道一个这样的问题,.NET Core中如何通过Attribute的元数据信息来调用标记的对应方法。我第一时间想到的就是通过C#反射获取带有Custom Attribute标记的类,然后通过依赖注入(DI)的方式获取对应服务的方法并通过反射动态执行类的方法,从而实现更灵活的编程

    2023年04月15日
    浏览(46)
  • 【C# .NET 】使用 Entity Framework Core 操作sqlite数据库

    添加包 EF Core design package   NuGet Gallery | Home 使用用于 EF Core 迁移和现有数据库中的反向工程(基架)的工具需要安装相应的工具包: 可在 Visual Studio 包管理器控制台中使用的 PowerShell 工具的 Microsoft.EntityFrameworkCore.Tools 跨平台命令行工具的 dotnet-ef 和 Microsoft.EntityFramewor

    2024年02月14日
    浏览(53)
  • 在Linux平台下使用.NET Core访问Access数据库读取mdb文件数据

    今天有群友在群里问 C# 能不能在 Linux 下访问 Access数据库 ? 我觉得这很有趣,因此研究折腾了一下,也因为很久没有写博文了,所以特意上来写博文分享经验。 操作系统: Ubuntu 22.04.3 LTS (Jammy) 开发工具: Visual Studio 2022 (17.8.0) 运行时版本: .NET Runtime 8.0 依赖库: unixodbc 、

    2024年02月05日
    浏览(42)
  • 网页表格爬取方法

     介绍 步骤 观察网页内容: 方法一:直接使用pandas的.read_html方法读取表格:

    2024年02月04日
    浏览(60)
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库

    记录日志为文档 记录日志到数据库

    2024年02月20日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包