English

Read this article in English.

Web a Markdown: 6 formas de convertir una página web a Markdown (con código)

Respuesta corta: Para una página ahora mismo, pon https://r.jina.ai/ delante de la dirección (Jina Reader). En tu propio código, usa Readability con Turndown (Node.js) o markdownify (Python). Dentro de n8n o Zapier, usa sus herramientas integradas. Para páginas que necesitan JavaScript, o cuando quieras solo el contenido principal y los metadatos en una sola llamada, usa la API de URL a Markdown de Cofferdock.

Markdown es texto normal con unas pocas marcas sencillas: # para los títulos, - para las listas y texto para los enlaces. Los modelos de IA lo leen muy bien, y es fácil de guardar, buscar y versionar. Una página web en bruto, en cambio, está llena de etiquetas, scripts y menús. Markdown conserva los encabezados, las listas, los enlaces y las tablas con mucho menos ruido.

Comparativa rápida

FormaIdeal para
Jina ReaderUna página, sin código y gratis
Python con markdownifyScripts que convierten la página entera
Node.js con Readability y TurndownTu propio código, quedándote solo con el artículo
n8nAutomatizaciones con sus nodos integrados
Zapier y MakeFlujos sin código (Make da texto plano)
API de CofferdockPáginas con JavaScript, contenido principal y metadatos

1. Jina Reader

Pon https://r.jina.ai/ delante de la dirección de la página y ejecuta esto en una terminal:

curl "https://r.jina.ai/https://example.com/article"

Devuelve la página como texto fácil de leer para la IA. Es gratis para un uso básico sin clave, con 20 peticiones por minuto, y con una clave se pueden hacer más. Si necesitas una página hoy mismo, es la opción más rápida.

2. Python con markdownify

Instala las dos librerías con pip install requests markdownify y ejecuta este script:

import requests
from markdownify import markdownify as md

html = requests.get("https://example.com/article", timeout=20).text
print(md(html, heading_style="ATX"))

Esto convierte la página entera, con sus menús incluidos. requests no ejecuta JavaScript, así que las páginas que crean su contenido con JavaScript llegan casi vacías.

3. Node.js con Readability y Turndown

Readability se queda solo con el contenido principal de la página, la misma idea que el modo lectura de Firefox. Turndown convierte ese HTML a Markdown. Instálalas con npm install jsdom @mozilla/readability turndown, guarda el código de abajo como article.mjs y ejecútalo con node article.mjs:

import { JSDOM } from 'jsdom';
import { Readability } from '@mozilla/readability';
import TurndownService from 'turndown';

const url = 'https://example.com/article';
const html = await (await fetch(url)).text();
const dom = new JSDOM(html, { url });
const article = new Readability(dom.window.document).parse();
const markdown = new TurndownService({ headingStyle: 'atx' }).turndown(article.content);
console.log(article.title);
console.log(markdown);

Como en la versión de Python, fetch no ejecuta JavaScript. Es una buena elección cuando quieres texto de artículo limpio y controlas el código.

4. Dentro de n8n

n8n tiene lo que necesitas sin ningún servicio extra:

  1. Añade un nodo HTTP Request. Pon el método en GET y la URL de la página. En Options → Response → Response Format, elige Text. El HTML llega al campo data.
  2. Añade un nodo Markdown después. Pon el modo en HTML to Markdown y, en HTML, escribe {{ $json.data }}. Elige un nombre para Destination Key, que es el campo de salida.
  3. En Options, pon Ignored Elements en nav, footer para quitar los menús y los pies de página.

Recuerda que el nodo HTTP Request no ejecuta JavaScript. Para ver el proceso completo, consulta la guía paso a paso.

5. Dentro de Zapier y Make

Zapier: usa Web Parser by Zapier, con el evento Parse Webpage. Pon URL to parse con la página y Content type en Markdown. El analizador está pensado para artículos, así que puede no encajar con todos los diseños. También existe un paso de Formatter, Formatter by Zapier → Text → Convert HTML to Markdown, pero algunos usuarios comentan que su resultado tiene saltos de línea de más. Si solo quieres texto plano, usa Remove HTML Tags. Consulta la guía de Zapier.

Make: usa el módulo HTTP → Make a request con GET para obtener el HTML. Después, Text parser → HTML to text te da texto plano con formato, no Markdown. La función integrada stripHTML() también da texto plano, por ejemplo {{stripHTML(1.data)}}. Consulta la guía de Make.

6. La API de URL a Markdown de Cofferdock

Esta herramienta abre la página en un navegador real (Chromium) con JavaScript activado, así que también lee webs que crean su contenido con JavaScript. Por defecto se queda solo con el contenido principal, con la misma detección que el modo lectura de Firefox. Además devuelve los metadatos de la página: título, descripción, imagen, idioma, autor, nombre del sitio y fechas.

También puedes enviar HTML que ya tengas con html en lugar de url, y usar base_url para que los enlaces relativos se vuelvan absolutos. Las opciones principales son format (markdown, text o metadata), main_content, include_links, include_images, max_chars y wait_ms.

Así es una llamada para un artículo:

curl -X POST "https://api.cofferdock.com/web-to-markdown" \
  -H "x-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article"}'

Una respuesta correcta tiene este aspecto:

{ "success": true, "title": "...", "content": "## First step\n\nArticle text...", "length": 4821, "truncated": false, "meta": { "main_content_found": true } }

Cada página cuesta 1 crédito, y las llamadas fallidas no se cobran. Los límites son una página por llamada, hasta 4 MB de HTML y 20 peticiones por minuto por IP. El plan gratuito incluye 50 créditos al mes, sin tarjeta. Si las formas gratuitas de arriba te bastan, usa esas. La API merece la pena cuando las páginas necesitan JavaScript, cuando quieres los metadatos o cuando no quieres mantener el código tú mismo.

Problemas habituales

Preguntas frecuentes

¿Cuál es la forma más fácil de convertir una página web a Markdown? Para una página, usa Jina Reader: pon https://r.jina.ai/ delante de la dirección. No necesitas código.

¿Qué herramientas se quedan solo con el contenido principal? Las que se basan en Readability: nuestra API, y Readability en tu propio código Node.js. markdownify convierte todo lo que hay en la página.

¿Puedo convertir HTML que ya tengo? Sí. Puedes usar markdownify en Python, Turndown en Node.js, el nodo Markdown de n8n, el Formatter de Zapier o nuestra API con la entrada html.

¿Hay alguna opción gratuita? Sí. Jina Reader funciona sin clave, las librerías son gratuitas y n8n y Zapier tienen herramientas integradas. Nuestro plan gratuito incluye 50 créditos al mes, sin tarjeta.

Guías relacionadas

Pruébalo tú mismo

Prueba la herramienta en cofferdock.com/es/web-to-markdown. Puedes crear una cuenta gratuita en cofferdock.com/register, con 50 créditos al mes y sin tarjeta.