• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

275
Views
Cheerio: ¿encontrar etiquetas con múltiples criterios específicos de manera fácil y elegante?

Estoy tratando de raspar web https://liquipedia.net/dota2/Admiral esta página para todas las etiquetas <li> que están dentro de una etiqueta <ul> que nuevamente está dentro de un div con clase mw-parser-output que tiene el title de propiedad. (Creo que así se llaman en el mundo HTML, como <tag property="..."> ).

¿Cuál sería la forma más elegante y sencilla de hacer esto con Cheerio? Sé que podría hacer esto con algunos bucles for y otras cosas, pero si hubiera una forma sencilla de hacerlo, mi código sería mucho más limpio.

almost 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Estoy seguro de que Cheerio es como jQuery. Un simple selector como este debería hacer:

 const li = $('div.mw-parser-output > ul > li[title]').toArray(); // Optionaly turn selected items into an array

Explicación del selector de CSS:

  1. div.mw-parser-output div se asegura de que el elemento sea ese. El punto significa que el selector es una class .
  2. > Señala al niño inmediato
  3. ul Etiqueta ul simple
  4. li[title] Cualquier etiqueta li , pero debe tener el atributo de título.

Luego convertimos el resultado en una matriz para que sea utilizable.
Es tan simple como eso.

También puede obtener una matriz del texto de cada elemento li con lo siguiente:

 const arrayOfLiTexts = li.map($el => $el.text());
almost 3 years ago · Juan Pablo Isaza Report

0

https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors

 const elements = $('div[title].mw-parser-output ul li').toArray();
almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error