Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

195
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!