Volver al blog
Guías
Gabriel CiociLast updated on Mar 31, 20269 min read

Cheerio.load no funciona: así es como se extrae información de la web con Cheerio

Cheerio.load no funciona: así es como se extrae información de la web con Cheerio

El web scraping es una técnica que consiste en utilizar scripts automatizados para obtener datos fiables. Los rastreadores web son capaces de rastrear cientos o miles de sitios web en cuestión de minutos cuando se implementan correctamente con el lenguaje de programación y el conjunto de herramientas adecuados.

Es una forma eficaz de obtener grandes cantidades de información, que se puede procesar y depurar rápidamente para extraer datos. Además, en algunos casos de productos falsificados, las herramientas de web scraping se pueden utilizar para rastrear la plataforma en línea en busca de todos los artículos falsificados a la venta.

Puedes denunciarlos fácilmente gracias a la presencia de enlaces a los sitios web. Pero en el pasado, resultaba bastante abrumador buscar y revisar todos los sitios web manualmente. Aunque el trabajo de scraping de datos pueda parecer sencillo, ciertamente no lo es. El scraping es un proceso complicado que requiere conocimientos técnicos.

Seguramente te encontrarás con herramientas como ParseHub y Diffbot, que deben utilizarse con conocimientos técnicos, pero en el artículo de hoy aprenderás sobre «CHEERIO», por qué a veces no se carga y otras cosas más.

Cheerio.Load no funciona: ¿por qué?

Cheerio.Load no funciona: ¿por qué?

A veces, te encontrarás con que Cheerio.load no funciona correctamente. Eres muy consciente de que hay un problema, pero no logras averiguar dónde está. Recuerda una cosa: el componente «<tbody» debe ser un elemento secundario del componente «<table>». Si no corriges estas cosas, Cheerio.load no funcionará.

En la versión actual de Cheerio que analiza el marcado, el propio analizador no se recupera de ese error concreto. Tienes que escribir una cadena HTML válida, lo que significa que debes envolver la cadena entre «</table>» y «<table>». Si vuelves a la versión anterior, Cheerio 0.22.0, sus analizadores se encargarán de ello.

Cheerio: lo que necesitas saber

Cheerio: lo que necesitas saber

Entonces, ¿qué es exactamente Cheerio? Bueno, es una implementación ligera, flexible y rápida para un servidor específico. Quizás te preguntes para qué sirve Cheerio si ya tienes «Puppeteer», que es una herramienta de scraping basada en Node.JS.

Esto se debe a que Puppeteer se utiliza mucho más para automatizar el trabajo del navegador y permite la navegación visual en tiempo real por Internet mediante la ejecución de scripts. Puppeteer funcionará perfectamente con todos los sitios web creados con React y Angular. También puedes generar archivos PDF y hacer capturas de pantalla con Puppeteer.

Pero en cuanto a velocidad, nada supera a Cheerio. Es una herramienta minimalista para realizar tareas de scraping, y también puedes combinarla con otros módulos para crear un script de principio a fin. Este script en concreto guardará el resultado en un CSV y también devolverá todo lo demás.

Cheerio es sin duda una opción perfecta para el scraping. También funciona a la perfección con documentos HTML y Chrome. No tendrás ningún problema al utilizarlo, pero debes saber cómo funciona antes de ponerte manos a la obra.

¿Cómo se pueden extraer datos con Cheerio?

¿Cómo se pueden extraer datos con Cheerio?

A la hora de extraer datos con la ayuda de Cheerio, debes seguir estos pasos:

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

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

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

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

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

Paso 6: npm run scrape

¿Cómo obtener datos de otro sitio web?

¿Cómo obtener datos de otro sitio web?

¿Deseas extraer datos o información de otro sitio web? Sigue estos 5 pasos para hacerlo:

  • Debes inspeccionar el código HTML del sitio web que deseas rastrear
  • Accede a la URL del sitio web utilizando el código y, a continuación, descarga el documento HTML y el contenido de la página.
  • Convierte el contenido a un formato legible
  • A continuación, debes extraer toda la información útil y guardarla en un formato estructurado.

¿Cómo analizar un archivo HTML en Node.js?

¿Cómo analizar un archivo HTML en Node.js?

Puede utilizar los módulos npm htmlparser y jsdom para realizar un análisis sintáctico y desarrollar un DOM en Node.js. Otras opciones que puede elegir son:

  • CsQuery para
  • Puedes convertir fácilmente XHTML a partir de HTML y utilizar XSLT
  • BeautifulSoup para Python
  • HTMLAgilityPack para

Extracción de datos de páginas web en Node con Cheerio: ¿cómo se hace?

Extracción de datos de páginas web en Node con Cheerio: ¿cómo se hace?

En esta sección en particular, aprenderás a extraer datos de una página web con la ayuda de Cheerio. Pero antes de optar por este método de extracción, debes contar con los permisos necesarios. De lo contrario, podrías infringir la privacidad, violar los derechos de autor o incumplir los términos de servicio.

Aprenderás a extraer el código ISO 3166-1 alpha-3 de todos los países y otras jurisdicciones. Encontrarás los datos de los países en la sección de códigos de la página ISO 3166-1 alpha-3. ¡Empecemos!

Paso 1: Crear un directorio de trabajo

Aquí, debes crear un directorio para el proyecto ejecutando el comando «mkdir learn-cheerio» en el área de la terminal. Este comando en concreto creará un directorio, que se llamará «learn-cheerio», aunque también puedes darle el nombre que quieras

En este paso, crearás un directorio para tu tarea ejecutando un comando en la terminal. El comando creará un directorio llamado learn-cheerio. Puedes darle otro nombre si lo deseas.

Seguramente verás una carpeta con el nombre «learn-cheerio» creada tras ejecutar correctamente los elementos seleccionados o el comando «mkdir learn-cheerio». Una vez creado el directorio y tras cargar con éxito los recursos externos, debes abrir el directorio y un editor de texto para inicializar el proyecto.

Paso 2: Inicialización del proyecto

Para asegurarte de que Cheerio se implementa correctamente en este proyecto, debes navegar hasta el directorio del proyecto y, a continuación, inicializarlo. Solo tienes que abrir el directorio con el editor de texto que prefieras y, a continuación, inicializarlo ejecutando el comando «npm init -y». Una vez completado este proceso, puedes crear un archivo «package.json» en el directorio raíz del proyecto.

Paso 3: Instalar las dependencias

En esta sección, instalarás las dependencias del proyecto ejecutando el comando «npm install Axios cheerio pretty».

Cuando utilices este comando, tardará un poco en cargarse, así que ten paciencia. Una vez que hayas ejecutado el comando correctamente, podrás registrar tres dependencias dentro del archivo package.json, justo debajo de la sección de dependencias.

La primera dependencia se llama «Axios», la segunda es «Cheerio» y la última es «Pretty». Axios es un conocido cliente HTTP que funciona en el navegador y en Node. Lo necesitarás porque Cheerio se considera un analizador de marcado.

Por lo tanto, para asegurarte de que Cheerio pueda analizar el marcado y extraer los datos que necesitas, debes utilizar

Para garantizar que Cheerio pueda analizar el marcado y extraer los datos que necesitas, debes utilizar Axios para obtener el marcado del sitio web. Si lo deseas, puedes utilizar otro cliente HTTP para recuperar el marcado. No tiene por qué ser necesariamente Axios.

«Pretty», por otro lado, es un paquete de npm que embellece el marcado para que sea totalmente legible cuando se imprime en la terminal.

Paso 4: Examina la página web que deseas extraer

Justo antes de extraer los datos de la página web, primero debes comprender bien la estructura de datos HTML resultante de la página. En esta sección

Antes de extraer datos de una página web, es fundamental comprender la estructura HTML de la página de la que vas a extraer los datos. En Wikipedia, ve al código ISO 3166-1 alpha-3. Debajo de la sección «código actual», encontrarás una lista de países y sus códigos.

Ahora, solo tienes que abrir DevTools pulsando la combinación de teclas «CTRL + SHIFT + I». También puedes hacer clic con el botón derecho y seleccionar la opción «Inspeccionar». Aquí tienes una imagen que muestra cómo aparece la «lista» en DevTools

Paso 5: Escribe el código para extraer los datos

Ahora, tienes que escribir el código para extraer los datos. Para empezar, debes ejecutar «touch app.js» para compilar el archivo app.js. Si ejecutas este comando correctamente, podrás crear el archivo app.js dentro del directorio del proyecto sin ningún error.

Al igual que con todos los demás paquetes de Node, tienes que instalar pretty, Cheerio y anxious antes de empezar a utilizarlos. Para ello, debes añadir el siguiente código:

const axios = require ["axios"]

const Cheerio = require ["cheerio"]

const pretty = require ["pretty"]

Asegúrate de incluir estos códigos justo al principio del archivo app.js. Asegúrate de tener un buen conocimiento de Cheerio justo antes de extraer los datos. Puedes analizar el marcado manipulando la estructura de datos resultante. Hacerlo te ayudará a aprender la sintaxis de Cheerio y también el proceso habitual. Aquí está el marcado del elemento UL que contiene los elementos LI:

const URL markup = `

<ul class ="fruits">

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

<li class="fruits__apple"> Manzana </li>

</ul>

Puedes añadir fácilmente este comando de variable concreto al archivo app.js.

¿Cómo puede ayudarte WebScrapingAPI ?

¿Cómo puede ayudarte WebScrapingAPI?

Fuente de la imagen: 

A estas alturas, ya sabes cómo usar Cheerio, por qué Cheerio.load no funciona, qué es el elemento div, el contenido de texto, el nodo y cómo cargar HTML. Aunque Cheerio es una excelente herramienta de web scraping, existen otras. Pero la que destaca entre todas es el software WebScrapingAPI.

Este software de scraping es utilizado por más de 10 000 empresas para limpiar, extraer datos de la web y recopilar toda la información útil. A través de este software, puedes obtener fácilmente HTML sin procesar de cualquier tipo de página web, y utiliza una API sencilla. Puede ofrecer datos listos para procesar a todo el personal de tu empresa.

El software se encargará automáticamente del JavaScript del proxy y de la representación visual mediante CAPTCHAs y navegadores reales. Sin duda, el software te ayudará a hacer crecer tu negocio, y su equipo de atención al cliente estará disponible las 24 horas del día, los 7 días de la semana, para proporcionarte la ayuda que necesites. En comparación con otros programas de API de scraping, este software en concreto recopilará datos tres veces más rápido.

La API de WebScraping también te permitirá extraer datos de una página web dentro de Vue, AngularJS, React y otras bibliotecas JS. También encontrarás la API de Amazon Scraper, la API de búsqueda y resultados de Google,

Ventajas: 

  • Incluye un excelente servicio de atención al cliente
  • Software fácil de usar
  • Cuenta con detección de bots
  • Proxies rotativos

Contras: 

No encontré ningún inconveniente al usar el software

Elige WebScrapingAPI: el mejor software de web scraping

Elige WebScrapingAPI: el mejor software de web scraping

Fuente de la imagen: 

El rastreo y el scraping web son muy importantes en el mundo actual. El trabajo lo llevan a cabo expertos que conocen bien cómo extraer datos de sitios web sin cometer muchos errores. El scraping puede ayudarte a extraer los datos que necesitas. Pero contar con un software como WebScrapingAPI puede acelerar mucho la extracción.

El software ha ganado popularidad como uno de los líderes en el scraping de sitios web. Las empresas que utilizan este software de scraping obtienen más de 50 millones de datos cada mes. El software también utiliza tecnología de vanguardia que lo distingue de otras herramientas.

A través de la plataforma, puedes realizar comparativas de precios, generación de clientes potenciales, análisis de datos financieros, estudios de mercado y muchas otras cosas. Entonces, ¿te interesa esta herramienta de scraping de sitios web para recopilar datos? ¡Puedes llamar a los expertos de WebScrapingAPI ahora mismo! El uso de su software evitará que se bloqueen las solicitudes y recibirás un servicio excelente.

Además, no olvide consultar las opciones de precios. Encontrará diferentes tipos de planes, que comienzan a partir de 49 $. Asegúrese de investigar un poco y comprobar el precio justo antes de empezar a utilizar el software. 

¡Utiliza WebScrapingAPI hoy mismo!

Acerca del autor
Gabriel Cioci, Desarrollador full-stack @ WebScrapingAPI
Gabriel CiociDesarrollador full-stack

Gabriel Cioci es desarrollador full stack en WebScrapingAPI, donde se encarga de crear y mantener los sitios web, el panel de usuario y los componentes principales de la plataforma destinados a los usuarios.

Empieza a crear

¿Estás listo para ampliar tu recopilación de datos?

Únete a más de 2000 empresas que utilizan WebScrapingAPI para extraer datos de la web a escala empresarial sin ningún gasto de infraestructura.