• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

164
Vistas
La función Cheerio.js .each() devuelve una cadena grande cuando se usa con .find('a').text()

Estoy usando CheerioJS para extraer una lista de texto de un sitio. Estoy encontrando correctamente el texto, sin embargo, sucede algo extraño cuando uso .each en una matriz de filas de la tabla.

Aquí está mi código

 const getTopCollections = async () => { const response = await axios.get('https://www.nft-stats.com/top-collections/7d') const $ = cheerio.load(response.data) const return_data = [] const table = $('table').children('tbody') table.each((i, element) => { let col_name = $(element).find('a').text() return_data.push(col_name) }) console.log(return_data); return return_data

Lo que obtengo es que, en lugar de una matriz de cadenas en return_data, obtengo una cadena grande con todo el texto en una sola cadena, como se muestra a continuación:

Una gran cadena

Supongo que tiene algo que ver con la forma en que CheerioJS devuelve datos de .each(). Intenté guardar el resultado de cada .find().text() en su propia variable y luego insertarlo, pero eso no lo solucionó.

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como dije en los comentarios, Cheerio es un clon extraño de jQuery y no se comporta exactamente como él. $(element).find('a') encuentra todos los <a> pero devuelve un único objeto Cheerio. Puede iterar los enlaces con

 $(element).find('a').each( ..... push etc )

o

 $(element).find('a').toArray().forEach( element => ... )
almost 3 years ago · Juan Pablo Isaza 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda