Volver al blog
Guías
Suciu Dan15 de noviembre de 202210 min de lectura

Cheerio.load no funciona: Esto es Cómo raspar web con cheerio

Cheerio.load no funciona: Esto es Cómo raspar web con cheerio

Cheerio.Load No Funciona: ¿Por Qué?

Cheerio.Load No Funciona: ¿Por Qué?

At times, you will find the cheerio.load not working correctly. You're well aware that there is an issue, but you cannot figure out where it is. Remember one thing, the "<tbody" component should be the child of the "<table> component. If you don't get these things corrected, the Cheerio.load will not work.

In the current version of Cheerio parses markup, the parser itself does not recover from that particular error. You have to write a valid HTML string, which means you have to wrap the string in "</table> and "<table>. When you downgrade to Cheerio 0.22.0, its parsers will take care of it.

Adiós: Lo que hay que saber

Adiós: Lo que hay que saber

Entonces, ¿qué es exactamente Cheerio? Bueno, es una implementación ágil, flexible y rápida para un servidor específico. Podrías pensar cuál es la necesidad de Cheerio cuando tienes el "Puppeteer", que es un dispositivo de raspado basado en Node.JS.

Es porque Puppeteer se utiliza mucho más para automatizar el trabajo del navegador y soporta la navegación visual de internet en tiempo real en forma de ejecuciones de scripts. Puppeteer funcionará perfectamente con todos los sitios web creados a partir de React y Angular. También puedes hacer PDFs y tomar capturas de pantalla con Puppeteer.

Pero cuando se trata de velocidad, nada puede superar a Cheerio. Es una herramienta minimalista para hacer el trabajo de scraping, y también se puede combinar con varios otros módulos para crear un script de extremo a extremo. Este script en particular guardará la salida en el CSV y también devolverá todo lo demás.

Cheerio es sin duda una opción perfecta para el trabajo de scraping. También funcionará con el documento HTML y Chrome sin problemas. Usted no experimentará ningún problema durante su uso, pero lo que necesita saber cómo funciona antes de utilizarlo.

¿Cómo se pueden extraer datos con Cheerio?

¿Cómo se pueden extraer datos con Cheerio?

Cuando se trata de raspar datos con la ayuda de Cheerio, es necesario seguir estos métodos:

Paso 1: Mkdir país-popular cd país-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?

¿Desea oponerse a los datos/información de otro sitio? Siga estos 5 pasos para hacerlo:

  • Es necesario inspeccionar el HTML del sitio web que desea rastrear
  • Acceda a la URL del sitio web utilizando el código y, a continuación, descargue el documento HTML y su contenido en la página.
  • Para el contenido en un formato legible
  • Después, hay que extraer toda la información útil y guardarla en un formato estructurado.

¿Cómo analizar un archivo HTML Node JS?

¿Cómo analizar un archivo HTML Node JS?

Puedes utilizar los módulos npm htmlparser y jsdom para realizar un parser y desarrollar un DOM en Node JS. Otras opciones por las que puedes optar son:

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

Scraping de páginas web en Node con Cheerio: ¿Cómo hacerlo?

Scraping de páginas web en Node con Cheerio: ¿Cómo hacerlo?

En esta sección en particular, entenderás cómo raspar una página web con la ayuda de Cheerio. Pero antes de optar por este método de anexión, necesita tener permiso para ello. De lo contrario, podrías violar la privacidad, los derechos de autor o los términos de los servicios.

Usted aprenderá cómo raspar el código ISO 3166-1 alfa-3 para todas las naciones y varias otras jurisdicciones. Encontrará los datos de los países en el área de códigos de la página ISO 3166-1 alpha-3. Y ahora, ¡empecemos!

Paso 1: Crear un directorio de trabajo

Línea de comandos del terminal que muestra «mkdir learn-cheerio»

Aquí, tienes que hacer un director para el proyecto ejecutando el comando "mkdir learn-cheerio" en el área de la terminal. Este comando en particular desarrollará un directorio, que se conoce como "learn-cheerio", y también eres libre de proporcionarle un

En este paso, crearás un manual para tu tarea ejecutando un comando en la terminal. El comando creará un manual llamado aprende-cheerio. Si lo deseas, puedes darle otro nombre.

Seguramente verás una carpeta con el nombre "learn-cheerio" creada luego de ejecutar correctamente los elementos seleccionados o el comando "mkdir learn-cheerio". Una vez que se haya creado el directorio y puedas cargar correctamente los recursos externos, deberás abrir el director y un editor de texto para inicializar el proyecto.

Paso 2: Inicializar el proyecto

Para asegurarte de que Cheerio se implementa correctamente con este proyecto, tienes que navegar por el directorio del proyecto y luego inicializarlo. Sólo necesitas abrir el directorio a través del editor de texto que más te guste y luego inicializarlo ejecutando el comando "npm init -y". Una vez que completes este proceso, puedes hacer un "archivo package.json" en el corazón del directorio del proyecto.

Paso 3 - Instalar las dependencias

Línea de comandos del terminal que muestra «npm i axios cheerio pretty»

Aquí, en esta sección, instalará las dependencias del proyecto ejecutando el "npm I Axios cheerio pretty".

Cuando utilices este comando, tardará un poco en cargarse, así que ten paciencia. Una vez que ejecute el comando con éxito, puede registrar tres dependencias dentro del archivo package.json justo debajo de la sección de dependencias.

La 1ª dependencia se conoce como "Axios", la 2ª 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 es visto como un parser de markup.

Por lo tanto, para asegurarse de que Cheerio analice el maquillaje y luego extraiga los datos que necesita, tiene que utilizar

Para asegurarse de que Cheerio analice el marcado y luego raspe los datos que usted necesita, debe utilizar Axios para obtener el marcado del sitio. Si lo desea, puede usar otro cliente HTTP para obtener las marcas. No tiene que ser necesariamente Axios.

"Pretty", por otro lado, es un paquete npm para embellecer el marcado de modo que sea completamente legible cuando se imprima en el terminal.

Paso 4: Inspeccione la página web que desea raspar

Justo antes de raspar los datos de la página web, es necesario primero tener una buena comprensión de la estructura de datos HTML resultante de la página. En esta sección

Antes de escrapear datos de una página web, es fundamental comprender la estructura HTML de la página de la que se van a escrapear los datos. En Wikipedia, vaya al código ISO 3166-1 alpha-3. Debajo de la sección "código actual", encontrarás una lista de naciones y sus códigos.

Ahora, sólo tienes que abrir el DevTools haciendo clic en la combinación de teclas "CTRL + SHIFT + I. De lo contrario, puede hacer clic derecho y luego elegir la opción "Inspeccionar". Aquí tienes una imagen que muestra cómo aparece la "lista" en el DevTools

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

Ahora, necesitas escribir el código para raspar los datos. Para comenzar el trabajo, debes ejecutar el comando "touch app.js" para armar el archivo app.js. Si ejecutas este comando con éxito, podrás crear el archivo app.js dentro del directorio del proyecto sin ningún error.

Al igual que el resto de paquetes de Node, tienes que ponerte guapo, Cheerio y ansioso antes de empezar a utilizarlos. Para ello, es necesario agregar el siguiente código:

const axios = require ["axios"]

const Cheerio = require ["cheerio"]

const pretty = require ["pretty"]

Asegúrate de proporcionar estos códigos justo en la parte superior del archivo app.js. Asegúrate de tener un buen conocimiento de cheerio justo antes de raspar los datos. Puedes analizar el marcado manipulando la estructura de datos resultante. Esto te ayudará a conocer la sintaxis de cheerio y también el proceso común. Este es el marcado del elemento UL que contiene los elementos LI:

const URL marcado = `

<ul class ="fruits">

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

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

</ul>

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

¿Cómo puede ayudarte WebScrapingAPI?

¿Cómo puede ayudar WebScrapingAPI?
Página de la API WebScrapingAPI que muestra la rotación de proxies, la ejecución de JavaScript y la resolución de CAPTCHA

Fuente de la imagen: 

A esta altura, ya tienes información sobre cómo usar Cheerio, la razón por la que Cheerio.load no funciona, el elemento div, el contenido de texto, el nodo y el HTML de carga. Aunque Cheerio es un excelente dispositivo de web-scraping, existen otros. Pero el que se destaca entre los demás es el software WebScrapingAPI.

Este software de raspado es utilizado por más de 10.000 empresas para limpiar, web scrape, y recoger todos los datos útiles. A través de este software, usted puede obtener fácilmente HTML en bruto de cualquier tipo de página web, y utiliza una API simple. Puede ofrecer datos listos para procesar para todas las personas de su empresa.

El software se encargará del JavaScript del proxy y del renderizado visual automáticamente a través de CAPTCHAs y navegadores reales. El software sin duda le ayudará a hacer crecer su negocio, y su equipo de atención al cliente estará disponible 24x7 para proporcionarle la ayuda que necesite. En comparación con otro software de API de raspado, este software en particular recopilará datos 3 veces más rápido.

WebScraping API también le permitirá raspar una página web dentro de Vue, AngularJS, React, y varias otras bibliotecas JS. También te encontrarás con Amazon Scraper API, Google Search y Results API,

Pros: 

  • Cuenta con un excelente servicio de atención al cliente
  • Software fácil de usar
  • Dispone de detección de hormigas robot
  • Rotación de proxies

Contras: 

No he encontrado ningún inconveniente en el uso del programa.

Elija WebScrapingAPI: El mejor software de Web Scraping

Elija WebScrapingAPI: El mejor software de Web Scraping
Imagen principal de la página de inicio de WebScrapingAPI con un titular sobre las API REST para el scraping web y un botón «Empezar»

Fuente de la imagen: 

El rastreo web y el scraping son bastante importantes en el mundo actual. El trabajo es realizado por expertos que tienen un buen conocimiento de los sitios de raspado sin muchos errores. El trabajo de scraping puede ayudarle a extraer los datos que necesita. Pero tener un software como WebScrapingAPI puede hacer que la extracción sea mucho más rápida.

El software ganó popularidad como software líder en el raspado de sitios web. Las empresas que utilizan este software de raspado obtienen más de 50 millones cada mes. El software también se utiliza con tecnología de última generación que hace que se destaque entre las otras herramientas.

Sección de precios de WebScrapingAPI en la que se muestran las fichas de los planes Starter, Grow, Business y Pro con sus precios mensuales

A través de la plataforma, usted puede hacer comparaciones de precios, generación de leads, datos monetarios, investigación de mercado, y muchas otras cosas. Entonces, ¿está interesado en esta herramienta de site scraping para recopilar datos? Llame ya a los expertos de WebScrapingAPI. El uso de su software evitará el bloqueo de solicitudes y recibirá un servicio excelente.

Además, no te olvides de echar un vistazo a los opciones de precios . Encontrarás diferentes tipos de planes, que empiezan a partir de 49 $. Asegúrate de investigar un poco y comprobar el precio justo antes de empezar a utilizar el software. 

¡Utilice WebScrapingAPI hoy mismo!

Acerca del autor
Suciu Dan, cofundador de WebScrapingAPI
Suciu DanCofundador

Suciu Dan es cofundador de WebScrapingAPI y escribe guías prácticas dirigidas a desarrolladores sobre el scraping web con Python, el scraping web con Ruby y las infraestructuras de proxy.

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.