Así que quiero buscar información específica sobre noticias de este sitio web: https://24.hu/fn/gazdasag/2022/07/23/igy-lehet-olcsobb-a-maganorvos-az-egeszsegpenztarbol/
Estoy trabajando en la creación de un rastreador web y necesito el título y el contenido de la noticia. Yo uso node.js, javascript y jQurey. Y también he creado pruebas para eso y puedo llegar al título, pero no puedo obtener el contexto. A pesar de que probé el código en la consola del navegador, y allí funciona bien.
Este sería el código en la consola: $('[data-io-article-url="https://24.hu/fn/gazdasag/2022/07/23/igy-lehet-olcsobb-a-maganorvos- az-egeszsegpenztarbol/"]').text().trim();
Y obtengo la siguiente respuesta: `A pandémia az életünk számos területét befolyásolta, de talán semmit sem annyira közvetlenül, mint az orvoshoz járási szokásainkat. Az elmúlt két évben tanúi lehettünk annak, hogy a végletekig leterhelt állami egészségügyi rendszer egyre nehezebben bírja a betegek megfelelő ellátását. Ráadásul úgy tűnik, hogy a járványt még korántsem tudhatjuk magunk mögött..... En mi VsCode guardé el html de la página web y creé la siguiente prueba:
const fs = require("fs"); const parser = require("../24Parser"); const newsPage1Html = fs.readFileSync("tests/html/test.html"); let parserResult; beforeAll(() => { parserResult = parser(newsPage1Html, ); }) describe("parsing html news page correctly", () => { test("title", () => { expect(parserResult.title).toBe("Így lehet olcsóbb a magánorvos az egészségpénztárból"); }) test("content", () => { expect(parserResult.content).toBe("lskl"); }) })Y mi analizador se ve así:
const cheerio = require("cheerio"); function parseAll(html, page) { const $ = cheerio.load(html); const title = $('[itemprop="headline"]').text().trim(); //const content = $(`[data-io-article-url="${page}"]`).text().trim(); const content = $('[data-io-article-url="https://24.hu/fn/gazdasag/2022/07/23/igy-lehet-olcsobb-a-maganorvos-az-egeszsegpenztarbol/"]').text().trim(); return { title, content} } module.exports = parseAll;Así que uso exactamente el mismo código y no obtengo nada en el caso del contenido. ¿Porqué es eso? Me gustaría crearlo dinámico más adelante, por eso la línea comentada.