[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 속성, 값을 가진 형제 요소를 선택하는 방법은 무엇인가요?

먼저, SwiftSoup을 프로젝트에 추가해야 합니다. 이를 위해 프로젝트의 Podfile에 다음과 같은 내용을 추가합니다:

pod 'SwiftSoup'

그런 다음, 터미널에서 pod install 명령을 실행하여 SwiftSoup을 설치합니다.

다음은 SwiftSoup을 사용하여 웹페이지에서 특정 태그와 속성, 값을 가진 형제 요소를 선택하는 예제 코드입니다:

import SwiftSoup

func selectSiblingElements() {
    do {
        // 1. 웹페이지의 HTML 코드를 SwiftSoup으로 파싱합니다.
        let html = """
        <html>
            <body>
                <div>
                    <h1>Title</h1>
                    <p class="content">Lorem ipsum dolor sit amet.</p>
                    <p class="content" data-value="123"> consectetur adipiscing elit.</p>
                    <p class="content" data-value="456">Fusce euismod faucibus felis.</p>
                </div>
            </body>
        </html>
        """
        let doc = try SwiftSoup.parse(html)

        // 2. 원하는 요소를 선택합니다. 예를 들어, <p> 태그 중 class가 "content"이고 data-value가 "123"인 형제 요소를 선택하려면 다음과 같이 합니다:
        let selectedElements = try doc.select("p.content[data-value=123] ~ p.content")

        // 3. 선택한 형제 요소를 순회하며 출력합니다.
        for element in selectedElements {
            print(element.text())
        }
    } catch let error {
        print("Error: \(error)")
    }
}

selectSiblingElements()

이렇게 하면 선택한 태그와 속성, 값에 해당하는 형제 요소들이 출력됩니다.

만약 다른 속성이나 태그를 선택하고 싶다면, doc.select() 메소드의 인자로 다른 CSS 선택자를 사용하면 됩니다. SwiftSoup은 CSS 선택자를 지원하므로 다양한 조건에 따라 원하는 요소를 선택할 수 있습니다.

더 자세한 내용은 SwiftSoup의 공식 문서(https://github.com/scinfu/SwiftSoup)를 참고하시기 바랍니다.