Clojure:
Hämta en webbsida
How to:
I Clojure kan du använda clj-http
biblioteket för att enkelt ladda ner innehållet på en webbsida. Här är ett exempel:
(require '[clj-http.client :as client])
(defn download-page [url]
(let [response (client/get url)]
(:body response)))
;; Använd funktionen
(println (download-page "http://example.com"))
Kör ovan kod och du skulle se HTML-innehållet i http://example.com
som output.
Deep Dive:
Att ladda ner webbsidor är inte nytt. Från kommandoradsverktyg som wget
till olika bibliotek i många programmeringsspråk, har utvecklare gjort detta sedan internet blev mainstream. Alternativ till clj-http
i Clojure inkluderar http-kit
och Java-biblioteket Jsoup
som också kan hantera parsing.
När du använder clj-http
, händer kommunikationen över Apache HttpComponents, vilket är en mogen Java-bibliotek för HTTP-kommunikation. Det ger dig en hög kontroll över HTTP-förfrågningar, som att hantera headers, cookies, och timeouts.
See Also:
- clj-http GitHub page
- HttpComponents
- ClojureDocs - en bra källa för Clojure dokumentation och exempel.