Tengo un proyecto con Node JS en raspado web donde tendré que raspar el encabezado y el texto del contenido principal. Pero el problema es que no puedo determinar cuál es el contenido principal cuando no hay una etiqueta aside o main o clase/id/rol nombrada aside o main . Estoy usando Puppeteer y Cheerio Library. He intentado usar Mercury Web Parser pero tiene sus propios problemas. Me gusta No devuelve ningún contenido de las páginas creadas con el generador de temas Elementor en Wordpress. Si alguien tiene alguna idea sobre cómo puedo diferenciar el contenido principal del resto de la página web, será de gran ayuda.
Puede consultar la biblioteca Readability JS de Mozilla. Se utilizan para la vista del lector.
Intente explorar más sobre los selectores de CSS y la especificidad.
Si está raspando Elementor, asegúrese de usar este truco para el selector: use data-elementor-(attributename) para todo en DOM.
const mainContent = await page.waitForElement('[data-elementor-type="wp-page"]', {visible: true, timeout: 0})