Haskell:
Analysering av HTML
Hvordan:
For å parse HTML i Haskell, vil vi bruke tagsoup
-biblioteket for dets enkelhet og fleksibilitet. Først, sørg for å installere biblioteket ved å legge til tagsoup
i ditt prosjekts cabal-fil eller ved å kjøre cabal install tagsoup
.
{-# LANGUAGE OverloadedStrings #-}
import Text.HTML.TagSoup
-- Eksempel HTML for demonstrasjon
let sampleHtml = "<html><body><p>Lær Haskell!</p><a href='http://example.com'>Klikk her</a></body></html>"
-- Parse HTML og filtrer for linker (a tags)
let tags = parseTags sampleHtml
let links = [fromAttrib "href" tag | tag <- tags, isTagOpenName "a" tag]
-- Skriv ut ekstraherte linker
print links
Eksempel på utskrift:
["http://example.com"]
For mer sofistikerte HTML-parsingbehov, vurder å bruke pandoc
-biblioteket, spesielt hvis du jobber med dokumentkonvertering. Det er eksepsjonelt allsidig, men kommer med mer kompleksitet:
import Text.Pandoc
-- Anta at du har et Pandoc-dokument (doc) lastet, f.eks. fra å lese en fil
let doc = ... -- Ditt Pandoc-dokument går her
-- Konverter dokumentet til HTML-streng
let htmlString = writeHtmlString def doc
-- Nå ville du parse `htmlString` som over eller fortsette som per dine krav.
Husk at pandoc
er et mye større bibliotek som fokuserer på konvertering mellom tallrike markup-formater, så bruk det hvis du trenger de ekstra evnene eller hvis du allerede jobber med dokumentformater i din applikasjon.