[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()를 사용하여 요소의 텍스트를 가져올 수 있습니다.

이 코드를 실행하면 선택한 요소들의 속성과 텍스트가 출력됩니다.

참고 문서: