Baixe imagens do site em C#

Os desenvolvedores .NET agora podem desenvolver um downloader de imagens em massa para software empresarial. Aspose.HTML for .NET é um serviço adequado de extração de imagens que oferece uma enorme pilha de classes e métodos para extrair imagens da web programaticamente. Além disso, não existe um sistema de eco complexo para usar esta biblioteca C# e você pode baixar imagens de um site em C# facilmente. Além disso, você pode extrair dados gráficos e textuais usando este Aspose.HTML for .NET cuja implementação você pode ver aqui. Então, vamos começar esta postagem do blog sem dizer mais nada.

Abordaremos as seguintes seções neste guia:

  1. Instalação do serviço de extração de imagens
  2. Baixar imagens do site em C# – exemplo de código
  3. Extrator de dados on-line

Instalação do serviço de extração de imagens

Portanto, você pode analisar páginas HTML programaticamente instalando esta API C#. Além da extração de dados, também permite converter páginas HTML para outros formatos de arquivo populares. Portanto, tenha o .NET instalado em sua máquina, instale este serviço de extração de imagens baixando o arquivo DLL ou você pode usar o seguinte comando no NuGet Gerenciador de Pacotes:

PM> Install-Package Aspose.Html

O processo de instalação é muito simples, mas se tiver alguma dificuldade, você pode visitar as instruções de instalação aqui.

serviço de extração de imagens

Baixe imagens do site em C# – exemplo de código

Agora podemos implementar a funcionalidade para extrair imagens da web programaticamente.

As etapas a seguir demonstram como baixar imagens do site em C#:

  • Abra uma página da web da qual deseja extrair imagens inicializando um objeto da classe HTMLDocument.
  • Colete todos os elementos “img” chamando o método GetElementsByTagName.
  • Chame o método Select para criar uma coleção distinta de URLs de imagens relativas e criar URLs de imagens absolutas.
  • Percorra todos os URLs de imagem absolutos.
  • Crie uma mensagem de solicitação de imagem inicializando um objeto da classe RequestMessage.
  • Extraia imagens fazendo uma chamada para o método Context.Network.Send(request).
  • Verifique se uma resposta foi bem-sucedida e salve a imagem em um sistema de arquivos local chamando o método WriteAllBytes.

O exemplo de código a seguir mostra como desenvolver programaticamente um downloader de imagens em massa:

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

namespace AsposeHTML
{
    class HTML
    {
        // Baixe imagens do site usando o serviço de extração de imagens
        static void Main(string[] args)
        {
            // Defina o caminho do diretório de trabalho.
            String dataDir = "/files/";
            // Abra uma página da web da qual deseja extrair imagens inicializando um objeto da classe HTMLDocument. 
            using var document = new HTMLDocument("https://blog.aspose.com/pt/tex/latex-mathematical-expressions-using-latex-to-image-api/");
            // Colete tudo<img> elementos chamando o método GetElementsByTagName. 
            var images = document.GetElementsByTagName("img");
            // Chame o método Select para criar uma coleção distinta de URLs de imagens relativas e criar URLs de imagens absolutas. 
            var urls = images.Select(element => element.GetAttribute("src")).Distinct();
            var absUrls = urls.Select(src => new Url(src, document.BaseURI));
            // Percorra todos os URLs de imagem absolutos. 
            foreach (var url in absUrls)
            {
                // Crie uma mensagem de solicitação de imagem inicializando um objeto da classe RequestMessage.
                using var request = new RequestMessage(url);
                // Extraia imagens fazendo uma chamada para o método Context.Network.Send(request).
                using var response = document.Context.Network.Send(request);
                // Verifique se uma resposta foi bem-sucedida e salve a imagem em um sistema de arquivos local chamando o método WriteAllBytes.
                if (response.IsSuccess)
                {
                    File.WriteAllBytes(Path.Combine(dataDir, url.Pathname.Split('/').Last()), response.Content.ReadAsByteArray());
                }
            }
        }
    }
}

Você pode ver o resultado na imagem abaixo:

extrair imagens da web

Extrator de dados on-line

Existe uma ferramenta online desenvolvida por Aspose.HTML. No entanto, este extrator de dados online de nível empresarial está equipado com uma interface de usuário amigável e você pode realizar a extração de dados com um clique. Além disso, é baseado na web e não requer criação de conta. Portanto, basta abrir esta ferramenta em um navegador web e iniciar a extração de dados importantes. Na verdade, mais recursos serão adicionados a esta ferramenta online num futuro próximo.

extrator de dados on-line

Extraia imagens da Web - obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar este [serviço] de extração de imagens]1 sem limitações de avaliação.

Conclusão

Encerramos esta postagem do blog aqui e esperamos que você tenha aprendido como baixar imagens de um site em C# programaticamente. Além disso, também seguimos as etapas e o trecho de código para desenvolver um downloader de imagens em massa. Além disso, você pode extrair imagens da web escrevendo algumas linhas de código em C# usando Aspose.HTML for .NET. Portanto, você pode encontrar documentação abrangente sobre uso e desenvolvimento. Além disso, a API referências fornecerá um ponto de partida para desenvolvedores .NET.

Fique em contato com aspose.com para as próximas postagens do blog.

A ajuda está disponível

Você pode compartilhar suas dúvidas ou dúvidas em nosso fórum.

Perguntas frequentes – Perguntas frequentes

Como faço o download de uma imagem de um URL?

Você pode baixar imagens do site em C# usando Aspose.HTML for .NET. Além disso, visite este link para saber como obter essa funcionalidade usando este serviço de extração de imagens.

Como extrair dados online?

Este extrator de dados online permite extrair dados textuais e gráficos de sites de forma robusta e eficiente.

Veja também