[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 클래스를 가진 모든 요소를 선택하는 방법은 무엇인가요?
먼저, SwiftSoup을 프로젝트에 추가해야 합니다. 프로젝트의 패키지 매니저 파일 (예: Package.swift)에 다음과 같이 SwiftSoup 종속성을 추가합니다.
dependencies: [
.package(url: "https://github.com/scinfu/SwiftSoup.git", from: "2.3.2")
],
다음, SwiftSoup을 import하여 사용할 수 있도록 합니다.
import SwiftSoup
이제 웹페이지에서 요소를 선택하는 코드를 작성할 수 있습니다. 예를 들어, “https://www.example.com”에서 <div class="content">
태그를 가진 모든 요소를 선택하려면 다음과 같이 작성합니다.
guard let url = URL(string: "https://www.example.com") else {
return
}
do {
let html = try String(contentsOf: url)
let doc: Document = try SwiftSoup.parse(html)
let elements: Elements = try doc.select("div.content")
for element in elements {
print(element.text())
}
} catch {
print("Error: \(error)")
}
위 코드에서 div.content
는 CSS 선택자로, “div” 태그 중 class="content"
인 요소를 선택합니다. select
메서드를 통해 선택한 요소들은 elements
변수에 저장되고, 이를 순회하며 각 요소의 텍스트를 출력합니다.
이와 같은 방식으로 SwiftSoup을 사용하여 웹페이지에서 원하는 태그와 클래스를 가진 모든 요소를 선택할 수 있습니다. SwiftSoup의 다른 메서드와 기능에 대해서는 공식 문서를 참고하기를 권장합니다.
참고 자료: