Swift:
การวิเคราะห์ HTML
วิธีการ:
โดยค่าเริ่มต้น Swift ไม่มีไลบรารีที่ฝังอยู่เพื่อการแยกวิเคราะห์ HTML ซึ่งทำให้จำเป็นต้องใช้ไลบรารีภายนอกในการจัดการกิจกรรมนี้ได้อย่างมีประสิทธิภาพ SwiftSoup เป็นหนึ่งในตัวเลือกที่ได้รับความนิยมมากที่สุด ซึ่งเป็นไลบรารี Swift แท้ที่เสนอ syntax คล้ายกับ jQuery สำหรับการแยกวิเคราะห์และการจัดการ HTML
การติดตั้ง
ขั้นแรก คุณต้องเพิ่ม SwiftSoup เข้าไปในโปรเจ็กต์ของคุณ หากคุณกำลังใช้ Swift Package Manager คุณสามารถเพิ่มมันเข้าไปในความพึ่งพา Package.swift
ของคุณได้:
dependencies: [
.package(url: "https://github.com/scinfu/SwiftSoup.git", from: "2.3.2")
]
ตัวอย่าง: การดึงลิงก์ออกจาก HTML
สมมติว่าคุณมีเอกสาร HTML และคุณต้องการดึงลิงก์ทั้งหมดออกมา (<a href="...">
). ด้วย SwiftSoup คุณสามารถทำสิ่งนี้ได้อย่างง่ายดาย:
import SwiftSoup
let html = """
<!DOCTYPE html>
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p>Welcome to our website</p>
<a href="https://example.com/page1">Page 1</a>
<a href="https://example.com/page2">Page 2</a>
</body>
</html>
"""
do {
let doc: Document = try SwiftSoup.parse(html)
let links: Elements = try doc.select("a")
for link in links.array() {
let linkHref: String = try link.attr("href")
let linkText: String = try link.text()
print("\(linkText) - \(linkHref)")
}
} catch Exception.Error(let type, let message) {
print("ประเภทข้อผิดพลาด: \(type) ข้อความ: \(message)")
} catch {
print("error")
}
ตัวอย่างผลลัพธ์
โค้ดก่อนหน้านี้จะดึง URL และข้อความของมันจาก HTML มาแสดงผล:
Page 1 - https://example.com/page1
Page 2 - https://example.com/page2
ตัวอย่างเบื้องต้นนี้สาธิตวิธีใช้ SwiftSoup สำหรับการแยกวิเคราะห์เอกสาร HTML ด้วยการสำรวจเอกสารของ SwiftSoup เพิ่มเติม คุณสามารถค้นพบวิธีการมากมายในการนำทาง ค้นหา และแก้ไขเนื้อหา HTML ทำให้แอปพลิเคชั่น Swift ของคุณสามารถประมวลผลเนื้อหาเว็บที่ซับซ้อนได้อย่างง่ายดาย