Swift:
Przetwarzanie HTML

How to: (Jak to zrobić:)

Swift nie ma wbudowanej obsługi parsowania HTML, więc wykorzystamy bibliotekę zewnętrzną, jak SwiftSoup. Aby jej użyć, musisz dodać zależność do swojego pliku Package.swift:

.package(url: "https://github.com/scinfu/SwiftSoup.git", from: "2.3.2")

Teraz, możesz spróbować prostego parsowania tytułu strony:

import SwiftSoup

let html = "<html><head><title>Witaj, Swift!</title></head></html>"
do {
    let doc = try SwiftSoup.parse(html)
    if let title = try doc.title() {
        print(title)
    }
} catch {
    print("Nie udało się sparsować HTML-a: \(error)")
}

// Wydruk w konsoli: "Witaj, Swift!"

Deep Dive (Zagłębiamy się)

Parsowanie HTML w Swift to jeszcze młoda dziedzina. Inne języki, jak Python z biblioteką BeautifulSoup, mają bardziej rozwinięte narzędzia. Historia parsowania HTML zaczyna się jednak dużo wcześniej i rozwija wraz z webem. Alternatywami dla SwiftSoup mogą być inne biblioteki takie jak Fuzi czy Kanna, które także wykorzystują XPath i CSS selectors. Ważne jest, żeby pamiętać o potencjalnych problemach przy parsowaniu skomplikowanej i zmieniającej się zawartości HTML, jak dynamicznie generowane strony.

Implementacja parsowania jest różna - może być na podstawie DOM, SAX, albo innego modelu. SwiftSoup stara się dostarczyć API podobne do silnika przeglądarki, z tą różnicą, że działamy w kontekście aplikacji Swift.

See Also (Zobacz także)