Swift:
Аналіз HTML
Як:
Swift за замовчуванням не включає вбудовану бібліотеку для розбору HTML, що потребує використання сторонніх бібліотек для ефективного виконання цього завдання. Одним з найпопулярніших варіантів є SwiftSoup, чиста бібліотека Swift, яка пропонує синтаксис подібний до 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>Зразкова сторінка</title>
</head>
<body>
<p>Ласкаво просимо на наш сайт</p>
<a href="https://example.com/page1">Сторінка 1</a>
<a href="https://example.com/page2">Сторінка 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("помилка")
}
Приклад виводу
Попередній код витягує URL-адреси та їх текст з HTML, виводячи:
Сторінка 1 - https://example.com/page1
Сторінка 2 - https://example.com/page2
Цей базовий приклад демонструє, як використовувати SwiftSoup для розбору HTML-документів. Досліджуючи документацію SwiftSoup далі, ви можете знайти численні методи для навігації, пошуку та модифікації HTML-вмісту, надаючи вашим додаткам Swift змогу легко обробляти складний веб-вміст.