[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 속성, 값을 가진 자손 요소를 선택하는 방법은 무엇인가요?
  1. SwiftSoup 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용한다면, Podfile에 다음을 추가하고 pod install 명령어를 실행합니다:
    pod 'SwiftSoup'
    
  2. SwiftSoup을 import 합니다:
    import SwiftSoup
    
  3. 웹페이지를 파싱하여 Document 객체를 생성합니다. 예를 들어, 다음과 같은 웹페이지를 파싱하려면: ```html <!DOCTYPE html>

Hello, SwiftSoup!

This is an example

This is another paragraph


4. 다음과 같이 Document 객체를 생성합니다:
```swift
let html = """
<!DOCTYPE html>
<html>
<body>
  <div>
    <h1>Hello, SwiftSoup!</h1>
    <p class="content">This is an example</p>
    <p>This is another paragraph</p>
  </div>
</body>
</html>
"""

guard let doc = try? SwiftSoup.parse(html) else {
    print("Failed to parse HTML")
    return
}
  1. 선택자를 사용하여 원하는 요소를 선택합니다. 예를 들어, ‘div’ 태그의 자손 요소 중 ‘p’ 태그이면서 class가 ‘content’인 요소를 선택하려면 다음과 같이 작성합니다:
    do {
     let elements = try doc.select("div p.content")
     for element in elements {
         print(element.text())
     }
    } catch {
     print("Failed to select elements")
    }
    

위의 코드는 ‘This is an example’를 출력합니다.

위의 방법을 사용하여 SwiftSoup을 통해 웹페이지에서 특정 태그와 속성, 값을 가진 자손 요소를 선택할 수 있습니다. 추가로 SwiftSoup에는 다양한 선택자와 기능이 제공되므로 원하는 요소를 선택하는 데 유용하게 활용할 수 있습니다.


참고 문서: