Descargar imágenes del sitio web en C#

Los desarrolladores de .NET ahora pueden desarrollar un descargador de imágenes masivo para software empresarial. Aspose.HTML for .NET es un servicio de extracción de imágenes adecuado que ofrece una gran cantidad de clases y métodos para extraer imágenes de la web mediante programación. Además de eso, no existe un sistema de eco complejo para usar esta biblioteca de C# y puede descargar imágenes desde un sitio web en C# fácilmente. Además, puede extraer datos gráficos y textuales utilizando este Aspose.HTML for .NET cuya implementación puede ver aquí. Entonces, comencemos esta publicación de blog sin decir nada más.

Cubriremos las siguientes secciones en esta guía:

  1. Instalación del servicio de extracción de imágenes
  2. Descargar imágenes del sitio web en C#: muestra de código
  3. Extractor de datos en línea

Instalación del servicio de extracción de imágenes

Por lo tanto, puede analizar páginas HTML mediante programación instalando esta API de C#. Además de la extracción de datos, también le permite convertir páginas HTML a otros formatos de archivo populares. Por lo tanto, tenga .NET instalado en su máquina, instale este servicio de extracción de imágenes descargando el archivo DLL o puede ejecutar el siguiente comando en NuGet Administrador de paquetes:

PM> Install-Package Aspose.Html

El proceso de instalación es muy sencillo, aunque si tienes alguna dificultad, puedes visitar las instrucciones de instalación aquí.

servicio de extracción de imágenes

Descargar imágenes del sitio web en C#: ejemplo de código

Ahora podemos implementar la funcionalidad para extraer imágenes de la web mediante programación.

Los siguientes pasos demuestran cómo descargar imágenes de un sitio web en C#:

  • Abra una página web de la que desee extraer imágenes inicializando un objeto de la clase HTMLDocument.
  • Recopile todos los elementos “img” llamando al método GetElementsByTagName.
  • Llame al método Select para crear una colección distinta de URL de imágenes relativas y crear URL de imágenes absolutas.
  • Recorra todas las URL de imágenes absolutas.
  • Cree un mensaje de solicitud de imagen inicializando un objeto de la clase RequestMessage.
  • Extraiga imágenes realizando una llamada al método Context.Network.Send(request).
  • Compruebe si la respuesta es exitosa y guarde la imagen en un sistema de archivos local llamando al método WriteAllBytes.

El siguiente ejemplo de código muestra cómo desarrollar mediante programación un descargador de imágenes masivo:

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

namespace AsposeHTML
{
    class HTML
    {
        // Descargar imágenes del sitio web mediante el servicio de extracción de imágenes
        static void Main(string[] args)
        {
            // Defina la ruta del directorio de trabajo.
            String dataDir = "/files/";
            // Abra una página web de la que desee extraer imágenes inicializando un objeto de la clase HTMLDocument. 
            using var document = new HTMLDocument("https://blog.aspose.com/es/tex/latex-mathematical-expressions-using-latex-to-image-api/");
            // Recoger todo<img> elementos llamando al método GetElementsByTagName. 
            var images = document.GetElementsByTagName("img");
            // Llame al método Select para crear una colección distinta de URL de imágenes relativas y crear URL de imágenes absolutas. 
            var urls = images.Select(element => element.GetAttribute("src")).Distinct();
            var absUrls = urls.Select(src => new Url(src, document.BaseURI));
            // Recorra todas las URL de imágenes absolutas. 
            foreach (var url in absUrls)
            {
                // Cree un mensaje de solicitud de imagen inicializando un objeto de la clase RequestMessage.
                using var request = new RequestMessage(url);
                // Extraiga imágenes realizando una llamada al método Context.Network.Send(request).
                using var response = document.Context.Network.Send(request);
                // Compruebe si la respuesta es exitosa y guarde la imagen en un sistema de archivos local llamando al método WriteAllBytes.
                if (response.IsSuccess)
                {
                    File.WriteAllBytes(Path.Combine(dataDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
                }
            }
        }
    }
}

Puede ver el resultado en la imagen a continuación:

extraer imágenes de la web

Extractor de datos en línea

Hay una herramienta en línea impulsada por Aspose.HTML. Sin embargo, este extractor de datos en línea de nivel empresarial está equipado con una interfaz de usuario fácil de usar y puede realizar la extracción de datos con un solo clic. Además, está basado en la web y no requiere la creación de una cuenta. Entonces, simplemente abra esta herramienta en un navegador web y comience la extracción de datos importantes. De hecho, en un futuro próximo se agregarán más funciones a esta herramienta en línea.

extractor de datos en línea

Extraiga imágenes de la Web: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita para probar este servicio de extracción de imágenes sin limitaciones de evaluación.

Conclusión

Terminamos esta publicación de blog aquí y esperamos que haya aprendido cómo descargar imágenes de un sitio web en C# mediante programación. Además, también repasamos los pasos y el fragmento de código para desarrollar un descargador de imágenes masivo. Además, puede extraer imágenes de la web escribiendo algunas líneas de código en C# usando Aspose.HTML for .NET. Por lo tanto, puede encontrar documentación completa sobre el uso y el desarrollo. Además, la API referencias brindará un punto de partida para los desarrolladores de .NET.

Manténgase en contacto con aspose.com para conocer las próximas publicaciones del blog.

Hay ayuda disponible

Puedes compartir tus dudas o consultas en nuestro foro.

Preguntas frecuentes – Preguntas frecuentes

¿Cómo descargo una imagen desde una URL?

Puede descargar imágenes del sitio web en C# usando Aspose.HTML for .NET. Además, visite este enlace para aprender cómo lograr esta funcionalidad utilizando este servicio de extracción de imágenes.

¿Cómo extraer datos en línea?

Este extractor de datos en línea le permite extraer datos textuales y gráficos de sitios web de forma sólida y eficiente.

Ver también