Clojure:
Scaricare una pagina web

How to:

Usiamo clj-http per scaricare una pagina web. Si tratta di una biblioteca Clojure semplice ma potente.

(require '[clj-http.client :as client])

(defn download-web-page [url]
  (client/get url))

;; Usiamo la funzione e stampiamo il corpo della risposta:
(println (:body (download-web-page "http://example.com")))

Esempio di output:

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...

La funzione download-web-page fa una chiamata GET all’URL specificato e restituisce il contenuto.

Deep Dive

clj-http sfrutta la libreria Apache HttpComponents per offrire un’interfaccia Clojure per le richieste HTTP. Storico ma affidabile, è ampiamente utilizzato nella comunità Clojure. Come alternativa, alcuni preferiscono http-kit per le sue funzionalità asincrone o Aleph per i protocolli basso-livello. Importante: le pagine web possono avere termini d’uso che limitano lo scraping; da considerare nella scelta dell’approccio di download.

See Also

Per approfondire: