Clojure:
Загрузка веб-страницы
Как сделать:
В Clojure вы можете использовать clj-http
для быстрого скачивания веб-страницы. Вот простейший пример:
(require '[clj-http.client :as client])
(defn download-page [url]
(client/get url))
;; Используйте это так:
(defn -main []
(println (download-page "http://example.com")))
Если попробуете, вы получите карту полную деталей. Главное содержится под :body
и :status
.
Подробнее
Исторически, скачивание из веба было выполнением ‘wget’ или ‘curl’ в командной строке. Сейчас, языки программирования, как Clojure, абстрагируют это с помощью библиотек. clj-http
- одна из таких библиотек, которая оборачивает Apache HttpComponents для Java в стиле функционального программирования Clojure.
Есть альтернативы? Конечно. Вы могли бы напрямую использовать java.net.HttpURLConnection
или выбрать другую библиотеку, как http-kit
– но clj-http
удобен и содержит большинство необходимых вещей “из коробки”.
Что касается основных моментов, clj-http
превращает ваш запрос в HTTP сущность Java, делает вызов и возвращает ответ. За кулисами, он обрабатывает перенаправления, разбирает заголовки и управляет телом ответа, так что вы можете сосредоточиться на ваших данных, а не на механике.
Смотрите также
- GitHub репозиторий clj-http: https://github.com/dakrone/clj-http
- Clojure http-kit для другого подхода: http://www.http-kit.org
- Официальный сайт Clojure для дополнительной информации о языке: https://clojure.org