使用 C# 从网站下载图像

.NET 开发人员现在可以为商业软件开发批量图像下载器。Aspose.HTML for .NET 是一种适当的图像提取服务,它提供了大量的类和方法,可以通过编程方式从网络中提取图像。最重要的是,使用此 C# 库不需要复杂的回显系统,您可以轻松地用 C# 从网站下载图像。此外,您可以使用此 Aspose.HTML for .NET 提取图形和文本数据,您可以在 此处 看到实现。所以,让我们开始这篇博文,不再多说。

我们将在本指南中介绍以下部分:

  1. 图像提取服务安装
  2. 使用 C# 从网站下载图片 - 代码示例
  3. 在线数据提取器

图像提取服务安装

因此,您可以通过安装此 C# API 以编程方式解析 HTML 页面。除了数据提取之外,它还使您能够将 HTML 页面转换为其他流行的文件格式。因此,请在您的计算机上安装 .NET,通过 下载 DLL 文件安装此图像提取服务,或者您可以将以下命令放入 NuGet 包管理器:

PM> Install-Package Aspose.Html

安装过程非常简单,即使您遇到任何困难,您也可以访问安装说明此处

图像提取服务

使用 C# 从网站下载图像 - 代码示例

现在,我们可以通过编程实现从网络提取图像的功能。

以下步骤演示如何使用 C# 从网站下载图像:

  • 通过初始化 HTMLDocument 类的对象来打开您想要从中提取图像的网页。
  • 通过调用GetElementsByTagName方法收集所有“img”元素。
  • 调用 Select 方法来创建相对图像 URL 的不同集合并创建绝对图像 URL。
  • 循环遍历所有绝对图像 URL。
  • 通过初始化RequestMessage类的对象来创建图像请求消息。
  • 通过调用 Context.Network.Send(request) 方法提取图像。
  • 检查响应是否成功,并通过调用 WriteAllBytes 方法将图像保存到本地文件系统。

以下代码示例展示了如何以编程方式开发批量图像下载器:

using Aspose.Html;
using Aspose.Html.Net;

namespace AsposeHTML
{
    class HTML
    {
        // 使用图像提取服务从网站下载图像
        static void Main(string[] args)
        {
            // 定义工作目录路径。
            String dataDir = "/files/";
            // 通过初始化 HTMLDocument 类的对象来打开您想要从中提取图像的网页。 
            using var document = new HTMLDocument("https://blog.aspose.com/zh/tex/latex-mathematical-expressions-using-latex-to-image-api/");
            // 收集所有<img>通过调用 GetElementsByTagName 方法获取元素。 
            var images = document.GetElementsByTagName("img");
            // 调用 Select 方法来创建相对图像 URL 的不同集合并创建绝对图像 URL。 
            var urls = images.Select(element => element.GetAttribute("src")).Distinct();
            var absUrls = urls.Select(src => new Url(src, document.BaseURI));
            // 循环遍历所有绝对图像 URL。 
            foreach (var url in absUrls)
            {
                // 通过初始化RequestMessage类的对象来创建图像请求消息。
                using var request = new RequestMessage(url);
                // 通过调用 Context.Network.Send(request) 方法提取图像。 
                using var response = document.Context.Network.Send(request);
                // 检查响应是否成功,并通过调用 WriteAllBytes 方法将图像保存到本地文件系统。
                if (response.IsSuccess)
                {
                    File.WriteAllBytes(Path.Combine(dataDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
                }
            }
        }
    }
}

您可以在下图中看到输出:

从网络提取图像

在线数据提取器

有一个由 Aspose.HTML 提供支持的 在线 工具。但是,这个企业级在线数据提取器配备了用户友好的用户界面,您只需单击一下即可执行数据提取。此外,它是基于 Web 的,不需要创建帐户。因此,只需在 Web 浏览器中打开此工具并开始提取重要数据即可。事实上,不久的将来会向这个在线工具添加更多功能。

在线数据提取器

从网络提取图像 - 获取免费许可证

您可以获得 免费临时许可证 来试用此图像提取 服务,不受评估限制。

结论

我们到此结束这篇博文,希望您已经学会了如何以编程方式使用 C# 从网站下载图片。此外,我们还介绍了开发批量图片下载器的步骤和代码片段。此外,您还可以使用 Aspose.HTML for .NET 在 C# 中编写几行代码从网络中提取图片。因此,您可以找到有关使用和开发的全面 文档。此外,API 参考 将为 .NET 开发人员提供一个起点。

请与aspose.com保持联系,以获取即将发布的博客文章。

可获得帮助

您可以在我们的论坛上分享您的问题或疑问。

常见问题 – 常见问题解答

如何从 URL 下载图像?

您可以使用 Aspose.HTML for .NET 在 C# 中从网站下载图像。此外,请访问此 链接 以了解如何使用此图像提取服务实现此功能。

如何在线提取数据?

在线数据提取器使您能够从网站稳健而高效地提取文本和图形数据。

也可以看看