[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그와 속성, 값을 가진 자손 요소를 선택하는 방법은 무엇인가요?
- SwiftSoup 라이브러리를 프로젝트에 추가합니다. Cocoapods를 사용한다면, Podfile에 다음을 추가하고
pod install
명령어를 실행합니다:pod 'SwiftSoup'
- SwiftSoup을 import 합니다:
import SwiftSoup
- 웹페이지를 파싱하여 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
}
- 선택자를 사용하여 원하는 요소를 선택합니다. 예를 들어, ‘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에는 다양한 선택자와 기능이 제공되므로 원하는 요소를 선택하는 데 유용하게 활용할 수 있습니다.
참고 문서: