Show HN: MarkdownDown, para organizar e converter páginas da web em Markdown
(markdowndown.vercel.app)- MarkdownDown é uma ferramenta que transforma qualquer página da web em um documento Markdown limpo
- O resultado da conversão oferece suporte a download de imagens, permitindo vincular ao Markdown imagens salvas localmente
- A opção remoção de elementos não relacionados ao conteúdo ajuda a reduzir elementos sem relação com o corpo do texto
- Também oferece a opção de aplicar o GPT Filter ao resultado em Markdown
- É útil para usuários que desejam arquivar o conteúdo de páginas da web em Markdown ou organizar também as imagens junto com ele
Organizar páginas da web em Markdown
- MarkdownDown converte páginas da web em Markdown limpo
- Durante a conversão, é possível baixar imagens e incluir links para imagens locais no resultado
Opções de conversão
-
Organização focada no conteúdo
- A opção Remove non-content elements remove elementos que não fazem parte do conteúdo
-
Processamento de imagens
- A opção Download images locally and link them salva as imagens localmente e cria os links
-
Aplicação do GPT Filter
- A opção Apply GPT Filter on Markdown permite aplicar o GPT Filter ao resultado em Markdown
1 comentários
Opiniões no Hacker News
Há três problemas diferentes em transformar um site em Markdown: capturar todo o conteúdo da página sem deixar nada de fora, remover anúncios e conteúdo complementar, e obter o layout e a formatação de seções corretos
Para extração precisa de conteúdo e formatação, soluções baseadas em Trafilatura, Newspaper4k e python-readability são as que funcionam melhor por padrão; para coleta completa, uma combinação de serviços de scraping com Selenium costuma se encaixar bem
Fico curioso para saber o que esta ferramenta faz de diferente ou melhor. Essa área ficou meio estagnada por um tempo, então gostaria de ouvir o que foi aprendido
Na extração de conteúdo, a abordagem da biblioteca da Postlight era bem limpa. Ela atribui uma pontuação a cada nó HTML com heurísticas como comprimento do texto, densidade de links e classes CSS, e escolhe o nó com a pontuação mais alta. Cheguei a portá-la para Swift enquanto criava um app pessoal de leitura posterior
https://github.com/postlight/parser
Se a verificação falha, o fluxo é recortar o contexto HTML da página inteira, converter para Markdown com Pandoc, e então o LLM extrai o corpo do texto a partir do Markdown
Vercel, hein; agora, se vier muito tráfego, é bom ficar de olho na fatura. Espero que você não esteja usando exatamente do jeito que a Vercel incentiva a continuar usando
Como no meme do ônibus: os felizes são o usuário e a Vercel, e o triste é a carteira
Claro, a exceção é quando você precisa de escalonamento e redução dinâmicos
Não fiz nada específico para lidar com o tráfego do HN; era só um app Next.js básico
Oferecer download de imagens e filtragem baseada em GPT é uma boa ideia
Fiz uma ferramenta parecida no ano passado, mas ela não tem esses recursos: https://url2text.com/
A UI pode ser lenta, mas dá para ver exemplos de saída na página inicial
A API por trás é a API de screenshots de sites da Urlbox, que tem desempenho muito melhor quando usada diretamente. Você pode solicitar Markdown de uma só vez junto com HTML renderizado por JavaScript, metadados e screenshots: https://urlbox.com/extracting-text
Também é possível salvar os resultados diretamente em um armazenamento compatível com S3: https://urlbox.com/s3
Ou recebê-los via webhooks: https://urlbox.com/webhooks
Em um projeto paralelo, estou fazendo mais de 1 milhão de renderizações por mês com o recurso de Markdown da Urlbox, e esse tipo de Markdown é muito melhor para usar em embeddings e prompts
Para fazer scraping de um site inteiro dessa forma, também vale conferir a nova ferramenta do dctanner: https://usescraper.com/
Custa US$ 0,001 por página e usa um navegador Chrome headless. Os resultados são rápidos e você paga apenas pelo que usar
Se você só precisa de texto, parece bem caro
Quando um site mostra uma mensagem de cookies, esta ferramenta parece travar ali e não consegue parsear o conteúdo real
Por exemplo, ao inserir https://www.cnbc.com/, ela gerou em Markdown apenas a mensagem de cookies e o texto jurídico ao redor
Tive sorte de poder construir em cima de uma API madura que já lida com muitos casos de borda surgidos em vários tipos de renderização de páginas
Apenas htmltidy e a conversão HTML→Markdown do Pandoc já eram úteis o suficiente
http://www.html-tidy.org/
https://pandoc.org/
Fico tentado e, ao mesmo tempo, com medo de passar todo o HTML do template final por ele para encontrar estruturas inválidas restantes. Dependendo de quão estruturados forem os resultados das correções, talvez dê até para transformar isso em uma suíte de testes
Eu também criei algo muito parecido, o smort.io. Se você colocar
smort.io/antes de qualquer URL de artigo, fica fácil editar, anotar e compartilharTambém funciona com artigos do ArXiv
O post Show HN do Smort está aqui: https://news.ycombinator.com/item?id=30673502
https://jina.ai/reader/
Testei em uma página de marketing complexa e ele lidou muito bem
Se puder compartilhar, fico curioso para saber quanta carga isso coloca no host. Quero entender se dá para manter de graça por muito tempo ou se, no fim, a eficiência de custo vai ficar ruim
Fora isso, o GPT-4 é caro, mas até agora o custo tem sido desprezível, então estou otimista. Acho que dá para manter por bastante tempo
É um daqueles casos em que IA não é necessária. Há algoritmos que funcionam muito bem para extrair conteúdo de páginas, e uma das implementações é https://github.com/buriy/python-readability
Também usei readability e algumas outras bibliotecas. Tenho curiosidade de saber qual é o estado da arte hoje
Acabava removendo muito mais conteúdo do que eu queria
O sempre incrível Pandoc (https://pandoc.org/) faz esse tipo de coisa muito bem. Na prática, também suporta quase todos os outros formatos de documento
É incrível, fácil de usar e funciona bem. Novas ferramentas nessa área aparecem com frequência, mas acho que, para me fazer usar algo que não seja o Pandoc, teria que haver algum recurso realmente único e convincente, ou uma otimização muito forte para um caso de uso específico
Legal. Eu gostaria que houvesse uma extensão de navegador que aplicasse isso a todas as páginas que leio e salvasse em algum lugar
https://github.com/deathau/markdown-clipper
Imagino que existam dezenas de extensões alternativas parecidas
https://omnivore.app/
Edit: li rápido demais. Deixei passar a parte de fazer isso de forma automática e sistemática