[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 ID를 가진 모든 요소를 선택하는 방법은 무엇인가요?
우선, SwiftSoup 라이브러리를 프로젝트에 추가해야 합니다. 프로젝트에 SwiftSoup을 추가하는 방법은 다음과 같습니다.
- Xcode를 열고 프로젝트 네비게이터에서 프로젝트 파일을 선택합니다.
- 프로젝트 파일을 선택한 후, 타겟을 선택합니다.
- Build Phases 탭을 선택하고, Compile Sources 섹션에 들어갑니다.
- 우클릭 후, Add Files to “타겟”을 선택합니다.
- SwiftSoup.swift 파일을 선택하고, Add를 클릭하여 파일을 추가합니다.
이제 SwiftSoup을 사용하여 웹페이지에서 특정 태그와 ID를 가진 요소를 선택하는 방법을 알아보겠습니다.
import SwiftSoup
do {
let htmlString = "<html><head></head><body><h1 id=\"title\">Hello World</h1><div class=\"content\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div><p id=\"paragraph\">Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium.</p></body></html>"
let doc = try SwiftSoup.parse(htmlString)
// 특정 태그와 ID를 가진 요소 선택하기
let elements = try doc.select("h1#title, p#paragraph")
for element in elements {
print(element.text())
}
} catch let error {
print("Error: \(error)")
}
위의 예시 코드에서는 SwiftSoup을 사용하여 HTML 문자열을 파싱하고, 특정 태그와 ID를 가진 요소를 선택합니다. select()
메소드를 사용하여 CSS 선택자를 지정하는데, h1#title
은 h1
태그 중 id
가 “title”인 요소를, p#paragraph
은 p
태그 중 id
가 “paragraph”인 요소를 선택합니다.
선택된 요소들은 elements
변수에 배열로 담겨있으며, 반복문을 통해 각 요소의 텍스트를 출력할 수 있습니다.
참고 문서: SwiftSoup GitHub 저장소