[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 ID를 가진 모든 요소를 선택하는 방법은 무엇인가요?

우선, SwiftSoup 라이브러리를 프로젝트에 추가해야 합니다. 프로젝트에 SwiftSoup을 추가하는 방법은 다음과 같습니다.

  1. Xcode를 열고 프로젝트 네비게이터에서 프로젝트 파일을 선택합니다.
  2. 프로젝트 파일을 선택한 후, 타겟을 선택합니다.
  3. Build Phases 탭을 선택하고, Compile Sources 섹션에 들어갑니다.
  4. 우클릭 후, Add Files to “타겟”을 선택합니다.
  5. 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#titleh1 태그 중 id가 “title”인 요소를, p#paragraphp 태그 중 id가 “paragraph”인 요소를 선택합니다.

선택된 요소들은 elements 변수에 배열로 담겨있으며, 반복문을 통해 각 요소의 텍스트를 출력할 수 있습니다.

참고 문서: SwiftSoup GitHub 저장소