Voltar ao blogue
Guias
Gabriel CiociLast updated on Mar 31, 20269 min read

O Cheerio.load não funciona: Veja aqui como extrair dados da Web com o Cheerio

O Cheerio.load não funciona: Veja aqui como extrair dados da Web com o Cheerio

O web scraping é uma técnica que consiste na utilização de scripts automatizados para obter dados fiáveis. Os web scrapers são capazes de rastrear centenas e milhares de sites em poucos minutos, quando implementados corretamente com a linguagem de programação e o conjunto de ferramentas adequados.

É uma forma poderosa de obter enormes quantidades de informação, que podem ser rapidamente processadas e limpas para a extração de dados. Mesmo assim, em algumas situações relacionadas com produtos falsificados, as ferramentas de web scraping podem ser utilizadas para navegar pela plataforma online à procura de todos os artigos falsificados à venda.

Pode denunciá-los facilmente graças à presença de links para os sites. Mas, no passado, era bastante assustador pesquisar e percorrer todos os sites manualmente. Embora possa parecer que o trabalho de web scraping é simples, certamente não o é. O trabalho de scraping é um processo complicado que requer conhecimentos técnicos.

Irá certamente encontrar ferramentas como o ParseHub e o Diffbot, que devem ser utilizadas com conhecimentos técnicos, mas no artigo de hoje irá aprender sobre o «CHEERIO», porque é que por vezes não carrega e várias outras coisas.

Cheerio.Load não funciona: porquê?

Cheerio.Load não funciona: porquê?

Por vezes, irá verificar que o Cheerio.Load não funciona corretamente. Está ciente de que existe um problema, mas não consegue descobrir onde está. Lembre-se de uma coisa: o componente "<tbody" deve ser filho do componente "<table>". Se não corrigir estas coisas, o Cheerio.Load não funcionará.

Na versão atual do Cheerio que analisa a marcação, o próprio analisador não recupera desse erro específico. Tem de escrever uma cadeia de caracteres HTML válida, o que significa que tem de envolver a cadeia em "</table> e "<table>. Quando fizer o downgrade para o Cheerio 0.22.0, os seus analisadores tratarão disso.

Cheerio: O que precisa de saber

Cheerio: O que precisa de saber

Então, o que é exatamente o Cheerio? Bem, é uma implementação enxuta, flexível e rápida para um servidor específico. Pode pensar: qual é a necessidade do Cheerio quando se tem o "Puppeteer", que é um dispositivo de scraping baseado em Node.JS?

Isso porque o Puppeteer é muito mais utilizado para automatizar o trabalho do navegador e suporta a navegação visual em tempo real na Internet na forma de execução de scripts. O Puppeteer funcionará perfeitamente com todos os sites criados com React e Angular. Também pode criar PDFs e fazer capturas de ecrã com o Puppeteer.

Mas quando se trata de velocidade, nada supera o Cheerio. É uma ferramenta minimalista para realizar o trabalho de scraping, e também pode combiná-la com vários outros módulos para criar um script completo. Este script específico guardará a saída em CSV e também retornará todas as outras informações.

O Cheerio é certamente uma opção perfeita para trabalhos de scraping. Também funciona perfeitamente com documentos HTML e o Chrome. Não irá encontrar quaisquer problemas ao utilizá-lo, mas precisa de saber como funciona antes de o utilizar.

Como pode extrair dados com o Cheerio?

Como pode extrair dados com o Cheerio?

Quando se trata de extrair dados com a ajuda do Cheerio, é necessário seguir estes passos:

Passo 1: Mkdir country-popular cd country-popular npm init

Passo 2: npm install Cheerio Axios npm install -D typescript esbuild esbuild-runner

Passo 3: "scripts" : [ "scrape": "esr./src/index.ts"]

Passo 4: import cheerio from "cheerio"; const $ = Cheerio

Passo 5: const firstHeader = $('h2.primary'); console

Passo 6: npm run scrape

Como obter dados de um site diferente?

Como obter dados de um site diferente?

Deseja extrair dados/informações de um site diferente? Siga estes 5 passos para o fazer:

  • Tem de inspecionar o HTML do site que pretende rastrear
  • Aceda ao URL do site utilizando o código e, em seguida, descarregue o documento HTML e o seu conteúdo da página.
  • Converta o conteúdo para um formato legível
  • Depois disso, tem de extrair todas as informações úteis e guardá-las num formato estruturado.

Como analisar um ficheiro HTML no Node JS?

Como analisar um ficheiro HTML no Node JS?

Pode utilizar os módulos npm htmlparser e jsdom para realizar uma análise e desenvolver um DOM no Node JS. Outras opções que pode escolher são:

  • CsQuery para
  • Pode converter facilmente XHTML a partir de HTML e utilizar XSLT
  • BeautifulSoup para Python
  • HTMLAgilityPack para

Extrair páginas web no Node com Cheerio: como fazê-lo?

Extrair páginas web no Node com Cheerio: como fazê-lo?

Nesta secção específica, irá compreender como extrair dados de uma página web com a ajuda do Cheerio. Mas antes de optar por este método de extração, precisa de ter autorização para o fazer. Caso contrário, poderá estar a violar a privacidade, a infringir direitos de autor ou os termos de serviço.

Vais aprender a extrair o código ISO 3166-1 alpha-3 para todos os países e várias outras jurisdições. Encontrarás os dados dos países na área de códigos da página ISO 3166-1 alpha-3. Então, vamos começar!

Passo 1: Criar um diretório de trabalho

Aqui, tem de criar um diretório para o projeto executando o comando "mkdir learn-cheerio" na área do terminal. Este comando específico irá criar um diretório, conhecido como "learn-cheerio", e também pode dar-lhe um

Nesta etapa, irá criar um diretório para a sua tarefa executando um comando no terminal. O comando criará um diretório chamado learn-cheerio. Pode dar-lhe um nome diferente, se desejar.

Irá certamente ver uma pasta com o nome "learn-cheerio" criada após executar corretamente os elementos selecionados ou o comando "mkdir learn-cheerio". Depois de o diretório estar criado e de conseguir carregar recursos externos com sucesso, terá de abrir o diretório e um editor de texto para iniciar o projeto.

Passo 2: Inicialização do projeto

Para garantir que o Cheerio seja implementado corretamente neste projeto, tem de navegar até ao diretório do projeto e, em seguida, inicializá-lo. Basta abrir o diretório no editor de texto da sua preferência e, em seguida, inicializá-lo executando o comando "npm init -y". Depois de concluir este processo, pode criar um ficheiro "package.json" no diretório raiz do projeto.

Passo 3 - Instalar as dependências

Nesta secção, irá instalar as dependências do projeto executando o comando "npm install Axios cheerio pretty".

Quando utilizar este comando, o carregamento demorará algum tempo, por isso, seja paciente. Depois de executar o comando com sucesso, pode registar três dependências no ficheiro package.json, logo abaixo da secção de dependências.

A primeira dependência é conhecida como «Axios», a segunda é «Cheerio» e a última é «Pretty». O Axios é um cliente HTTP bem conhecido que funciona no navegador e no Node. Vai precisar dele porque o Cheerio é considerado um analisador de marcação.

Assim, para garantir que o Cheerio consiga analisar a marcação e, em seguida, extrair os dados de que necessita, tem de utilizar

Para garantir que o Cheerio consiga analisar a marcação e, em seguida, extrair os dados de que necessita, deve utilizar o Axios para obter a marcação do site. Pode utilizar um cliente HTTP diferente para buscar a marcação, se desejar. Não tem necessariamente de ser o Axios.

O "Pretty", por outro lado, é um pacote npm para embelezar a marcação, de modo a torná-la totalmente legível quando impressa no terminal.

Passo 4: Analise a página do site que pretende extrair

Antes de extrair os dados da página web, é necessário compreender bem a estrutura de dados HTML resultante da página. Nesta secção

Antes de extrair dados de uma página web, é essencial compreender a estrutura HTML da página de onde irá extrair os dados. Na Wikipédia, aceda ao código ISO 3166-1 alpha-3. Abaixo da secção «código atual», encontrará uma lista de países e os seus códigos.

Agora, basta abrir o DevTools clicando na combinação de teclas «CTRL + SHIFT + I». Caso contrário, pode clicar com o botão direito do rato e selecionar a opção «Inspecionar». Aqui está uma imagem que mostra como a «lista» aparece no DevTools

Passo 5: Escreva o código para extrair os dados

Agora, precisa de escrever o código para extrair os dados. Para começar o trabalho, deve executar o comando «touch app.js» para compilar o ficheiro app.js. Se executar este comando com sucesso, poderá criar o ficheiro app.js dentro do diretório do projeto sem qualquer erro.

Tal como acontece com todos os outros pacotes Node, tem de instalar o pretty, o Cheerio e o anxious antes de começar a utilizá-los. Para tal, tem de adicionar o seguinte código:

const axios = require ["axios"]

const Cheerio = require ["cheerio"]

const pretty = require ["pretty"]

Certifique-se de inserir estes códigos logo no início do ficheiro app.js. Certifique-se de ter um bom conhecimento do Cheerio antes de extrair os dados. Pode analisar a marcação manipulando a estrutura de dados resultante. Isso irá ajudá-lo a aprender sobre a sintaxe do Cheerio e também sobre o processo comum. Aqui está a marcação do elemento UL que contém os elementos LI:

const URL markup = `

<ul class ="fruits">

<li class="frutis__mango"> Manga </li>

<li class="fruits__apple"> Maçã </li>

</ul>

Pode adicionar facilmente este comando de variável específico ao ficheiro app.js.

Como é que a WebScrapingAPI pode ajudar?

Como é que a WebScrapingAPI pode ajudar?

Fonte da imagem: 

A esta altura, já sabe como utilizar o Cheerio, a razão pela qual o Cheerio.load não funciona, o elemento div, o conteúdo de texto, o nó e o carregamento de HTML. Embora o Cheerio seja uma excelente ferramenta de web scraping, existem outras no mercado. Mas a que se destaca entre as restantes é o software WebScrapingAPI.

Este software de scraping é utilizado por mais de 10 000 empresas para limpar, extrair dados da web e recolher todos os dados úteis. Através deste software, pode facilmente obter HTML bruto de qualquer tipo de página web, e este utiliza uma API simples. Pode oferecer dados prontos a processar para todas as pessoas na sua empresa.

O software trata automaticamente do JavaScript do proxy e da renderização visual através de CAPTCHAs e navegadores reais. O software irá certamente ajudar a expandir o seu negócio, e a sua equipa de apoio ao cliente estará disponível 24 horas por dia, 7 dias por semana, para lhe prestar a ajuda de que necessita. Em comparação com outro software de API de scraping, este software específico recolhe dados 3 vezes mais rápido.

A API WebScraping também lhe permitirá extrair dados de uma página web no Vue, AngularJS, React e várias outras bibliotecas JS. Também irá encontrar a API Amazon Scraper, a API de Pesquisa e Resultados do Google,

Prós: 

  • Inclui um excelente apoio ao cliente
  • Software fácil de usar
  • Possui deteção de bots
  • Proxies rotativos

Contras: 

Não encontrei quaisquer contras ao utilizar o software

Escolha o WebScrapingAPI: o melhor software de web scraping

Escolha o WebScrapingAPI: o melhor software de web scraping

Fonte da imagem: 

O rastreamento e a extração de dados da Web são bastante importantes no mundo atual. O trabalho é realizado por especialistas que possuem um bom conhecimento sobre como extrair dados de sites sem muitos erros. O trabalho de extração pode ajudá-lo a obter os dados de que necessita. Mas ter um software como o WebScrapingAPI pode tornar a extração muito mais rápida.

O software ganhou popularidade como um dos principais softwares de scraping de sites. As empresas que utilizam este software de scraping obtêm mais de 50 milhões de dados por mês. O software também utiliza tecnologia de ponta, o que o destaca entre as outras ferramentas.

Através da plataforma, pode fazer comparações de preços, geração de leads, dados monetários, estudos de mercado e muitas outras coisas. Então, está interessado nesta ferramenta de scraping de sites para recolher dados? Pode contactar os especialistas da WebScrapingAPI agora mesmo! A utilização do software irá evitar pedidos bloqueados e irá receber um serviço de excelência.

Além disso, não se esqueça de verificar as opções de preços. Encontrará vários tipos de planos, que começam a partir de 49 $. Certifique-se de fazer alguma pesquisa e verificar o preço antes de começar a utilizar o software. 

Utilize a WebScrapingAPI hoje mesmo!

Sobre o autor
Gabriel Cioci, Desenvolvedor Full-Stack @ WebScrapingAPI
Gabriel CiociDesenvolvedor Full-Stack

Gabriel Cioci é um programador Full Stack na WebScrapingAPI, responsável pela criação e manutenção dos sites, do painel do utilizador e das principais funcionalidades da plataforma destinadas aos utilizadores.

Comece a construir

Pronto para expandir a sua recolha de dados?

Junte-se a mais de 2.000 empresas que utilizam a WebScrapingAPI para extrair dados da Web à escala empresarial, sem quaisquer custos de infraestrutura.