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, ทำการเรียก, และส่งคำตอบกลับมา ภายในตัวมัน, มันกำลังจัดการเรื่องการเปลี่ยนเส้นทาง, การวิเคราะห์ส่วนหัว, และการจัดการตัวเนื้อหาการตอบกลับเพื่อให้คุณสามารถโฟกัสไปที่ข้อมูลของคุณ, ไม่ใช่ระบบภายใน
ดูเพิ่มเติม
- พื้นที่เก็บข้อมูล clj-http บน GitHub: https://github.com/dakrone/clj-http
- Clojure http-kit สำหรับวิธีการอื่น: http://www.http-kit.org
- เว็บไซต์อย่างเป็นทางการของ Clojure เพื่อให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับภาษา: https://clojure.org