Show HN: MarkdownDown, para organizar y convertir páginas web a Markdown
(markdowndown.vercel.app)- MarkdownDown es una herramienta que convierte cualquier página web en un documento Markdown limpio
- En el resultado de la conversión, permite descargar imágenes para guardarlas localmente y enlazarlas en el Markdown
- Con la opción eliminar elementos no relacionados con el contenido, se pueden reducir los elementos ajenos al cuerpo principal
- También ofrece la opción de aplicar GPT Filter al resultado en Markdown
- Es útil para quienes quieren guardar el contenido de páginas web en Markdown o organizarlo junto con sus imágenes
Organizar páginas web en Markdown
- MarkdownDown convierte páginas web en Markdown limpio
- Durante la conversión, puede descargar imágenes e incluir en el resultado enlaces a imágenes locales
Opciones de conversión
-
Organización centrada en el contenido
- La opción Remove non-content elements elimina los elementos que no forman parte del contenido
-
Manejo de imágenes
- La opción Download images locally and link them guarda las imágenes localmente y las enlaza
-
Aplicar GPT Filter
- La opción Apply GPT Filter on Markdown permite aplicar GPT Filter al resultado en Markdown
1 comentarios
Opiniones de Hacker News
Hay tres problemas distintos al convertir sitios web a Markdown: extraer todo el contenido de la página sin omisiones, eliminar anuncios y contenido secundario, y obtener el formato correcto de layout y secciones
Para la extracción precisa de contenido y el formateo, las soluciones basadas en Trafilatura, Newspaper4k y python-readability son las que mejor funcionan por defecto; para una recopilación exhaustiva, suele encajar bien una combinación de servicios de scraping y Selenium
Me da curiosidad qué hace distinto o mejor esta herramienta. Este campo llevaba un tiempo estancado, así que me gustaría escuchar qué aprendieron
Para extracción de contenido, el enfoque de la biblioteca de Postlight me pareció bastante limpio. Puntúa cada nodo HTML con heurísticas como longitud del texto, densidad de enlaces y clases CSS, y elige el nodo con mayor puntaje. Lo porté a Swift mientras hacía una app personal para leer después
https://github.com/postlight/parser
Si la revisión falla, recorta el contexto del HTML completo de la página, lo convierte a Markdown con Pandoc, y luego el LLM extrae el cuerpo desde el Markdown
Vercel, vaya; ahora, si llega una avalancha de tráfico, hay que tener cuidado con la factura. Espero que no lo estén usando de la forma en que Vercel te anima a seguir usándolo
Tal cual el meme del autobús: los felices son el usuario y Vercel, y el triste es la cartera
Claro, salvo que necesites escalado y reducción dinámicos
No hice nada especial para manejar el tráfico de HN; era simplemente una app Next.js básica
Ofrecer descarga de imágenes y filtrado basado en GPT es una buena idea
El año pasado hice una herramienta similar, pero no tiene esas funciones: https://url2text.com/
La UI puede ser lenta, pero en la página principal se puede ver un ejemplo de salida
La API subyacente es la API de capturas de pantalla de sitios web de Urlbox; si se usa directamente, el rendimiento es mucho mejor. Puedes pedir Markdown de una vez junto con HTML renderizado con JavaScript, metadatos y capturas de pantalla: https://urlbox.com/extracting-text
También se pueden guardar los resultados directamente en almacenamiento compatible con S3: https://urlbox.com/s3
También se pueden recibir por webhooks: https://urlbox.com/webhooks
En un proyecto paralelo estoy renderizando más de un millón de veces al mes con la función de Markdown de Urlbox, y ese Markdown es mucho mejor para embeddings y prompts
Si quieres scrapear sitios web completos de esta manera, también vale la pena mirar la nueva herramienta de dctanner: https://usescraper.com/
Cuesta US$0.001 por página y usa un navegador Chrome headless. Los resultados son rápidos y solo pagas por lo que usas
Si solo necesitas texto, parece bastante caro
Si un sitio web muestra un mensaje de cookies, esta herramienta parece quedarse atascada ahí y no logra parsear el contenido real
Por ejemplo, probé con https://www.cnbc.com/ y solo generó en Markdown el mensaje de cookies y el texto legal alrededor
Tuvimos suerte de poder construirlo sobre una API madura que ya maneja muchos edge cases derivados de distintos tipos de renderizado de páginas
Con solo htmltidy y la conversión HTML→Markdown de Pandoc ya se podía hacer algo bastante útil
http://www.html-tidy.org/
https://pandoc.org/
Me atrae y a la vez me da miedo pasarle todo el HTML de la plantilla final para encontrar estructuras inválidas que queden. Según qué tan estructurados sean los arreglos, quizá podría convertirse en una suite de pruebas
Yo también hice algo muy parecido, smort.io. Si antepones
smort.io/a cualquier URL de un artículo, puedes editarlo, anotarlo y compartirlo fácilmenteTambién funciona con papers de ArXiv
El post Show HN de Smort está aquí: https://news.ycombinator.com/item?id=30673502
https://jina.ai/reader/
Lo probé con una página de marketing compleja y la manejó muy bien
Si se puede compartir, me da curiosidad cuánta carga le genera al host. Quisiera saber si es algo que se puede seguir operando gratis, o si al final va a terminar siendo poco rentable
Fuera de eso, GPT-4 es caro, pero hasta ahora el costo ha sido insignificante, así que tengo esperanzas. Creo que se podrá mantener por mucho tiempo
Es uno de esos casos en los que no se necesita IA. Hay algoritmos que funcionan muy bien para extraer contenido de una página, y una implementación es https://github.com/buriy/python-readability
También probé readability y algunas otras bibliotecas. Me da curiosidad saber cuál es el estado del arte hoy
Terminaba eliminando mucho más contenido del que quería
El siempre sorprendente Pandoc(https://pandoc.org/) hace esto muy bien. De hecho, también soporta prácticamente cualquier otro formato de documento
Es sorprendente, fácil de usar y funciona bien. Salen con frecuencia herramientas nuevas en este campo, pero creo que para hacerme usar algo que no sea Pandoc tendría que tener una función realmente única y convincente, o estar muy optimizada para un caso de uso específico
Genial. Me gustaría que hubiera una extensión de navegador que aplicara esto a todas las páginas que leo y las guardara en algún lugar
https://github.com/deathau/markdown-clipper
Supongo que debe haber decenas de extensiones alternativas similares
https://omnivore.app/
Edición: leí demasiado rápido. Me perdí la parte de hacerlo de forma automática y sistemática