Tengo un problema con Axios o Cheerio. Estoy tratando de obtener todos los divs de una página web, pero solo logro obtener los divs principales.
Aquí está mi código:
const axios = require("axios"); const cheerio = require("cheerio"); const slUrl = "https://sl.se/"; axios.get(slUrl).then((response) => { const $ = cheerio.load(response.data); $("div").each((index, element) => { const divClass = $(element).attr("class"); console.log(divClass); }); });El resultado de esto es:
sl_fragment_header_1-18-1
indefinido
sl_fragment_travel-planner_3-12-1
sl_fragment_travel-result_3-9-0
sl_fragment_departures_1-12-0
sl_fragment_traffic-situation-summary_1-4-0
sl_fragment_highlighted-teaser_1-0-4
sl_fragment_teasers_1-1-1
sl_fragment_traffic-news_1-0-0
sl_fragment_footer_1-9-0
Estas son las clases de los divs que logro recolectar. El problema es que cuando visito este sitio e inspecciono el contenido, cada uno de estos divs tiene divs secundarios.
Aquí hay un ejemplo del div con la clase 'sl_fragment_travel-planner_3-12-1':
No puedo conseguir estos divs para niños. que me estoy perdiendo aqui?
Olvidé mencionar que cuando ejecuto exactamente el mismo código en https://www.aftonbladet.se obtengo todos los divs... No solo los divs principales...
El problema es que $("div") solo selecciona los divs en el nivel raíz. debe abordar el div raíz y todos los divs secundarios.
Allí debería encontrar su solución: seleccionar elementos y todos los niños