[swift] SwiftSoup을 이용해 웹페이지에서 특정 클래스를 가진 요소를 선택하는 방법은 무엇인가요?

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

pod 'SwiftSoup'

선언한 뒤, 터미널에서 pod install 명령을 실행하여 SwiftSoup을 설치합니다.

다음으로, SwiftSoup을 import 합니다.

import SwiftSoup

이제 웹페이지에서 특정 클래스를 가진 요소를 선택하기 위해 다음 코드를 사용할 수 있습니다.

func getElementsWithClass(from html: String, className: String) throws -> Elements {
    let doc: Document = try SwiftSoup.parse(html)
    let elements: Elements = try doc.getElementsByClass(className)
    return elements
}

위의 함수는 주어진 HTML 문자열에서 지정한 클래스 이름을 가진 요소들을 반환합니다. 예를 들어, 다음과 같이 사용할 수 있습니다.

let html = "<div class=\"my-class\">Hello, World!</div><div class=\"my-class\">Lorem Ipsum</div>"
let className = "my-class"

do {
    let elements = try getElementsWithClass(from: html, className: className)
    
    for element in elements {
        print(element.text())
    }
} catch {
    print("Error occurred: \(error)")
}

위의 예제에서는 html 변수에 저장된 HTML에서 my-class 클래스를 가진 요소를 선택하고, 해당 요소의 텍스트를 출력합니다.

이렇게 SwiftSoup을 사용하면 웹페이지에서 특정 클래스를 가진 요소를 선택하는 작업을 간편하게 수행할 수 있습니다.

참고 자료: