Ir al contenido

Herramienta de Web Scraping

La base de conocimientos de Gezondland contiene artículos que fueron publicados originalmente en otros sitios web. Para migrar este contenido a nuestra plataforma Astro/Starlight, hemos desarrollado una herramienta especial que convierte páginas web en archivos Markdown limpios.

La herramienta de web scraping obtiene artículos de sitios web externos y los convierte a Markdown con el frontmatter correcto para Starlight. La herramienta:

  • Detecta automáticamente el CMS del sitio web de origen
  • Extrae el contenido del artículo sin navegación, pies de página y anuncios
  • Conserva todos los hipervínculos del artículo original
  • Agrega atribución de fuente con enlace al original
  • Limpia la basura técnica generada por los sistemas CMS

La herramienta reconoce y procesa contenido de diferentes tipos de sitios web:

WordPress es el CMS más utilizado en el mundo. La herramienta detecta si un sitio tiene disponible la API REST de WordPress y la usa preferentemente. A través de la API obtenemos acceso al contenido sin procesar sin artefactos de formato.

Sitios reconocidos: jeleefstijlalsmedicijn.nl, 2diabeat.nl, y otras instalaciones de WordPress con API abierta.

Reconocimiento: La herramienta busca el endpoint estándar /wp-json/wp/v2/ o el enlace de API en el HTML.

Drupal es popular en sitios web médicos y gubernamentales debido a su estructura robusta. La herramienta reconoce Drupal por clases CSS específicas y extrae contenido de la estructura de campos.

Sitios reconocidos: thuisarts.nl (NHG)

Reconocimiento: Presencia de clases field--name-body y markup específico de Drupal.

Las soluciones modernas de CMS headless como Storyblok a menudo usan SvelteKit como frontend. La herramienta reconoce los marcadores HTML característicos que estos frameworks utilizan.

Sitios reconocidos: voedingleeft.nl

Reconocimiento: Bloques de comentarios HTML_TAG_START y HTML_TAG_END en el código fuente.

Para sitios web que no caen en las categorías anteriores, la herramienta tiene estrategias de respaldo. Estas buscan patrones comunes como etiquetas <article>, clases .prose o divs .entry-content.

Cada artículo migrado obtiene automáticamente una atribución de fuente en la parte superior del contenido. Esta es una cita en bloque con:

  • Fuente: El nombre del sitio web con enlace al artículo original
  • Autor: Si está disponible en la página de origen

Esto garantiza transparencia sobre el origen del contenido y respeta la propiedad intelectual de los autores originales.

Todos los hipervínculos del artículo original se conservan. Esto aplica para:

  • Enlaces internos dentro del artículo de origen
  • Enlaces externos a fuentes científicas
  • Enlaces a artículos relacionados

Los enlaces no se ajustan ni se eliminan, para que los lectores mantengan acceso al contexto y fuentes completas.

Los sitios web a menudo usan sistemas de formato complejos que dejan “basura” en el HTML. La herramienta limpia esto automáticamente:

  • Marcadores de bloques Kadence y clases de estilo
  • Componentes de cajas de información y decoraciones de enlaces
  • Atributos de bloques Gutenberg
  • Atributos target y rel de enlaces (como target="_blank")
  • Imágenes inline codificadas en base64
  • Elementos de interfaz de reproductor de video
  • Espacios en blanco y líneas vacías excesivos
  • Atributos de entidad de Drupal
  • Los atributos de Markdown extendido como {.button .primary} se eliminan
  • Esto previene errores de análisis en el procesamiento MDX de Astro

La herramienta genera automáticamente el frontmatter obligatorio para Starlight:

  • title: Tomado de la etiqueta <title> o metadatos Open Graph
  • description: De la meta description, o un respaldo generado automáticamente

Esto asegura que los artículos migrados sean directamente compatibles con nuestro sitio sin ajustes manuales.

La migración de un artículo procede de la siguiente manera:

  1. Ingresar URL - La herramienta recibe la URL del artículo a migrar
  2. Detección de CMS - Reconocimiento automático de la plataforma
  3. Extracción de contenido - Obtención del contenido del artículo a través del mejor método disponible
  4. HTML a Markdown - Conversión a través de Pandoc a Markdown limpio
  5. Limpieza - Eliminación de artefactos específicos del CMS
  6. Agregar frontmatter - Título y descripción de los metadatos
  7. Insertar atribución de fuente - Atribución automática a la fuente original
  8. Guardar - Salida como archivo .mdx listo para la base de conocimientos

Además de páginas web, también se pueden convertir documentos PDF a Markdown. Esto es útil para fichas, manuales y otros documentos disponibles como PDF.

  • PDFs basados en texto (texto directamente copiable)
  • PDFs con tablas y listas
  • Múltiples páginas
  1. Subir PDF - Coloca el PDF en la carpeta de Descargas o proporciona la ruta
  2. Extracción de contenido - La habilidad PDF lee el contenido de texto
  3. Preservar estructura - Se reconocen encabezados, listas y párrafos
  4. Generación de Markdown - Salida a .mdx con frontmatter correcto
  5. Agregar info del autor - En fichas se agrega automáticamente información del autor

Después de crear un nuevo artículo, se publica a través de Git:

git add → git commit → git push → En vivo en docs.gezondland.org

El sitio se construye y despliega automáticamente después de cada push a la rama master.

SecciónCarpeta
Afeccionessrc/content/docs/aandoeningen/
Comenzarsrc/content/docs/aan-de-slag/
Nutriciónsrc/content/docs/voeding/
Fichas Yvo Sijpkenssrc/content/docs/fiches-yvo-sijpkens/
Clasificaciónsrc/content/docs/classificatie/

La URL sigue la estructura de carpetas: docs.gezondland.org/{sección}/{nombre-archivo}/

Por ejemplo: src/content/docs/fiches-yvo-sijpkens/pcos.mdx se convierte en docs.gezondland.org/fiches-yvo-sijpkens/pcos/

La herramienta tiene algunas limitaciones:

  • Imágenes no se descargan automáticamente. Estas deben obtenerse por separado y alojarse localmente.
  • Videos incrustados no se incluyen. Solo se extrae el contenido textual.
  • Contenido dinámico cargado a través de JavaScript no siempre es accesible.
  • Contenido de pago detrás de un login no se puede obtener.
  • PDFs escaneados (imágenes de texto) requieren OCR y no siempre se reconocen correctamente.

La herramienta está disponible como habilidad de Claude Code y se puede invocar durante una sesión.

Proporciona la URL del artículo y la sección deseada. La herramienta determina por sí misma el mejor método de extracción.

Coloca el PDF en Descargas y proporciona el nombre del archivo y la sección de destino. La herramienta lee el PDF y genera un archivo Markdown.

Si tienes preguntas sobre la migración de contenido específico o sitios web que no se reconocen correctamente, la herramienta puede ampliarse con nuevos patrones de extracción.

Medische Disclaimer: De informatie van Stichting Je Leefstijl Als Medicijn over leefstijl, ziektes en stoornissen mag niet worden opgevat als medisch advies. In geen geval adviseren wij mensen om hun bestaande behandeling te veranderen. We raden mensen met chronische aandoeningen aan om zich over hun behandeling goed door bevoegde medische professionals te laten adviseren.

Medical Disclaimer: The information provided by Stichting Je Leefstijl Als Medicijn regarding lifestyle, diseases, and disorders should not be construed as medical advice. Under no circumstances do we advise people to alter their existing treatment. We recommend that people with chronic conditions seek advice regarding their treatment from qualified medical professionals.