Haskell:
Analisi del HTML
Come fare:
Per parsare HTML in Haskell, useremo la libreria tagsoup
per la sua semplicità e flessibilità. Prima di tutto, assicurati di installare la libreria aggiungendo tagsoup
al file cabal del tuo progetto o eseguendo cabal install tagsoup
.
{-# LANGUAGE OverloadedStrings #-}
import Text.HTML.TagSoup
-- HTML di esempio per dimostrazione
let sampleHtml = "<html><body><p>Impara Haskell!</p><a href='http://example.com'>Clicca Qui</a></body></html>"
-- Parsare HTML e filtrare per i link (tag a)
let tags = parseTags sampleHtml
let links = [fromAttrib "href" tag | tag <- tags, isTagOpenName "a" tag]
-- Stampare i link estratti
print links
Output di esempio:
["http://example.com"]
Per esigenze di parsing HTML più sofisticate, considera l’uso della libreria pandoc
, specialmente se stai lavorando con la conversione di documenti. È eccezionalmente versatile ma comporta maggiore complessità:
import Text.Pandoc
-- Assumendo di avere un documento Pandoc (doc) caricato, ad esempio, dalla lettura di un file
let doc = ... -- Il tuo documento Pandoc va qui
-- Convertire il documento in una stringa HTML
let htmlString = writeHtmlString def doc
-- Ora, dovresti parsare `htmlString` come sopra o procedere secondo le tue necessità.
Tieni presente che pandoc
è una libreria molto più ampia che si concentra sulla conversione tra numerosi formati di markup, quindi usala se hai bisogno di quelle capacità extra o se stai già trattando formati di documenti nella tua applicazione.