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: