Saltearse al contenido

Web Scraper

El modulo webscraper permite extraer informacion estructurada de contenido HTML utilizando selectores CSS. Recibe HTML como data de entrada (tipicamente del modulo HTTP) y extrae elementos segun la configuracion de selectores. Soporta extraccion de metadata, selectores CSS para cualquier elemento HTML, sub-elementos anidados, y data-attributes. Es ideal para scraping de paginas web, extraccion de precios de productos, recopilacion de enlaces, o analisis de contenido HTML.

ParametroTipoRequeridoDescripcion
elementsjson/arrayNoConfiguracion de elementos a extraer. Si esta vacio, se extraen metadatos, h1, p, img y enlaces por defecto
[
{
"type": "meta",
"name": "metadata"
},
{
"type": "selector",
"selector": "h1",
"name": "titulos"
},
{
"type": "selector",
"selector": ".producto",
"name": "productos",
"subElements": [
{ "selector": "h2", "name": "nombre" },
{ "selector": ".precio", "name": "precio" },
{ "selector": "img", "name": "imagen" }
],
"includeDataAttributes": true
}
]
{
"nextModule": "siguiente_modulo",
"data": {
"extractedData": {
"metadata": {
"description": "Descripcion del sitio",
"og:title": "Titulo Open Graph"
},
"titulos": [
{ "text": "Titulo Principal" }
],
"productos": [
{
"nombre": "Producto A",
"precio": "29.99",
"imagen": "/img/producto-a.jpg",
"dataAttributes": { "data-id": "123" }
}
]
}
}
}
{
"elements": [
{ "type": "meta", "name": "metadata" },
{ "type": "selector", "selector": "h1", "name": "titles" },
{ "type": "selector", "selector": "a", "name": "links" }
]
}
  • El data de entrada debe ser contenido HTML (string); tipicamente se obtiene del modulo HTTP con un GET previo
  • Utiliza la libreria cheerio para el parsing HTML
  • Tipos de elementos soportados: meta (extrae meta tags) y selector (selector CSS)
  • Para elementos img, se extrae el atributo src; para a, se extrae href; para otros, el texto
  • Los sub-elementos (subElements) permiten extraer datos anidados dentro de un contenedor
  • includeDataAttributes: true extrae todos los atributos data-* del elemento
  • Si elements esta vacio o no se configura, se extraen por defecto: metadatos, h1, p, img y enlaces
  • Si un solo sub-resultado se encuentra, se devuelve como valor directo en lugar de array
  • No requiere credenciales
  • http (obtener el HTML de una pagina web)
  • checkSite (verificar estado de un sitio)