Clojure:
Analyse syntaxique de HTML

Comment faire :

(require '[enlive.core :as enlive])

; Charger le HTML depuis une URL ou un fichier
(def page-html (enlive/html-resource (java.net.URL. "http://exemple.com")))

; Sélectionner et extraire des éléments avec un sélecteur CSS
(defn extract-titles [html]
  (map :content (enlive/select html [:h1])))

; Utiliser sur notre page chargée
(extract-titles page-html)

Sortie prévue :

("Titre de la Page")

Plongée profonde

Historiquement, l’analyse HTML était ardue. La variabilité et la complexité du HTML rendaient les parseurs classiques insuffisants. EnLive, la bibliothèque utilisée dans notre exemple Clojure, utilise des sélecteurs à la CSS pour identifier les éléments, simplifiant ainsi le processus.

Alternatives :

  • jsoup est une autre option, similaire à EnLive mais issue du monde Java.
  • hickory et hiccup sont des bibliothèques Clojure pour représenter et manipuler du HTML de manière idiomatique.

Détails d’implémentation : EnLive navigue dans le DOM (Document Object Model) pour récupérer et manipuler des éléments. L’approche consistant à utiliser des sélecteurs CSS pour identifier les zones d’intérêt rend l’outil à la fois puissant et accessible.

Voir Aussi