[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을 사용하면 웹페이지에서 특정 클래스를 가진 요소를 선택하는 작업을 간편하게 수행할 수 있습니다.
참고 자료: