Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

191
Vistas
Cómo raspar parte de una página node.js

Soy bastante nuevo en la codificación y no entiendo por qué mi código no funciona. Se supone que "Dominus Empyreus" , aunque solo genera []

Aquí está mi código actual:

 const axios = require('axios'); const cheerio = require('cheerio'); const extractLinks = $ => [ ...new Set( $('.border-bottom item-name-container') // Select pagination links .toArray() // Convert cheerio object to array ), ]; axios.get('https://www.roblox.com/catalog/21070012/Dominus-Empyreus').then(({ data }) => { const $ = cheerio.load(data); // Initialize cheerio const stuff = extractLinks($); console.log(stuff); // ['Dominus Empyreus'] });

¡Cualquier ayuda es apreciada! Gracias.

about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

Este es el elemento que está tratando de seleccionar.

 <div class="border-bottom item-name-container">

Has escrito:

 .border-bottom item-name-container

Que consiste en:

  • Un selector de clase (para class="border-bottom" )
  • Un combinador descendiente
  • Un selector de tipo (para <item-name-container> )

Lo que necesitas es:

  • Un selector de clase (para class="border-bottom" )
  • Otro selector de clase (para class="item-name-container" )
  • Sin combinador descendiente (porque está apuntando a dos características del mismo elemento, no a un elemento que sea descendiente del otro).

Tal:

 .border-bottom.item-name-container
about 4 years ago · Santiago Gelvez Denunciar

0

Una solución alternativa es usar la ruta completa del selector directamente al elemento que desea extraer de una página web como tal:

 const axios = require('axios'); const cheerio = require('cheerio'); const extractLinks = $ => [ ...new Set( $("#item-container > div.remove-panel.section-content.top-section > div.border-bottom.item-name-container > h1") // Select pagination links .toArray() // Convert cheerio object to array ), ]; axios.get('https://www.roblox.com/catalog/21070012/Dominus-Empyreus').then(({ data }) => { const $ = cheerio.load(data); // Initialize cheerio const stuff = extractLinks($); console.log(stuff[0].children[0].data); // ['Dominus Empyreus'] });

Una forma rápida y sencilla de obtener una ruta completa del selector es usar la consola del desarrollador F12 en su navegador, hacer clic con el botón derecho en el elemento -> Copiar -> Copiar selector.

imagen

En este caso, el selector para este elemento <h1> es:

 #item-container > div.remove-panel.section-content.top-section > div.border-bottom.item-name-container > h1

Lo único que debe tener en cuenta es que esta solución solo funcionará si la ruta del selector es exactamente la misma en cada página que desea raspar.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda