[swift] SwiftSoup을 이용해 웹페이지에서 특정 클래스를 가진 모든 요소를 선택하는 방법은 무엇인가요?
  1. 먼저 SwiftSoup을 프로젝트에 추가해야 합니다. SwiftSoup은 웹 스크래핑을 위해 사용되는 HTML 파서 라이브러리입니다. SwiftSoup을 프로젝트에 추가하려면 Podfile에 다음과 같이 추가해 주세요:
pod 'SwiftSoup'
  1. SwiftSoup을 사용하기 위해 import SwiftSoup을 추가해 주세요.

  2. 웹페이지의 HTML을 가져오고 싶은 경우, 다음과 같이 trytry?를 사용하여 가져올 수 있습니다:

guard let url = URL(string: "https://example.com") else { return }
if let html = try? String(contentsOf: url) {
    do {
        let doc = try SwiftSoup.parse(html)
        // HTML 파싱을 위한 준비가 완료되었습니다.
    } catch {
        // HTML 파싱 실패
    }
}
  1. 특정 클래스를 가진 모든 요소를 선택하려면, select(_:) 메서드를 사용하여 원하는 요소를 선택할 수 있습니다. 예를 들어, myClass 클래스를 가진 모든 div 요소를 선택하려면 다음과 같이 작성할 수 있습니다:
do {
    let elements = try doc.select("div.myClass")
    for element in elements {
        // 선택한 요소에 대한 작업을 수행합니다.
    }
} catch {
    // 선택한 요소를 찾지 못함
}

위의 예제에서 div.myClassdiv 요소 중에서 myClass 클래스를 가진 요소를 선택하는 선택자입니다. 선택자를 더 복잡하게 만들 수도 있습니다.

이렇게 SwiftSoup을 사용하여 웹페이지에서 특정 클래스를 가진 모든 요소를 선택할 수 있습니다. 현재 버전의 SwiftSoup은 Swift 5를 지원하며, iOS 및 macOS 앱에서 사용할 수 있습니다.

참고 자료: