[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 속성을 가진 모든 요소를 선택하는 방법은 무엇인가요?
import SwiftSoup
// 웹페이지 HTML 가져오기
let html = """
<html>
<body>
<div class="container">
<p class="message">Hello, world!</p>
<a href="https://example.com">Click here!</a>
</div>
</body>
</html>
"""
// SwiftSoup을 이용해 HTML 파싱
do {
let doc: Document = try SwiftSoup.parse(html)
// 특정 태그와 속성을 가진 모든 요소 선택
let elements: Elements = try doc.select("a[href]")
// 선택한 요소들에서 속성 또는 텍스트 가져오기
for element in elements {
let href: String = try element.attr("href")
let text: String = try element.text()
print("Href: \(href)")
print("Text: \(text)")
}
} catch Exception.Error(let type, let message) {
print("Error: \(type) - \(message)")
} catch {
print("Error")
}
이 코드는 SwiftSoup 라이브러리를 사용하여 웹페이지에서 특정 태그와 속성을 가진 모든 요소를 선택하는 예제입니다. doc.select("a[href]")
를 사용하여 <a>
태그 중에 href
속성을 가진 요소들을 선택할 수 있습니다. 선택한 요소들에서는 .attr("href")
를 사용하여 속성 값을 가져올 수 있으며, .text()
를 사용하여 요소의 텍스트를 가져올 수 있습니다.
이 코드를 실행하면 선택한 요소들의 속성과 텍스트가 출력됩니다.
참고 문서:
- SwiftSoup GitHub 페이지: https://github.com/scinfu/SwiftSoup