[swift] SwiftSoup을 이용해 웹페이지에서 특정 태그의 이전 요소를 선택하는 방법은 무엇인가요?
먼저, SwiftSoup을 프로젝트에 추가해야 합니다. 프로젝트의 Podfile
에 다음과 같이 SwiftSoup을 추가합니다:
pod 'SwiftSoup'
그런 다음, 터미널에서 pod install
명령을 실행하여 SwiftSoup을 설치합니다.
이제, 웹페이지에서 특정 태그의 이전 요소를 선택할 준비가 되었습니다. 아래는 예시 코드입니다:
import SwiftSoup
// 웹페이지 URL
let url = "https://www.example.com"
// 웹페이지 다운로드
guard let pageURL = URL(string: url),
let pageData = try? Data(contentsOf: pageURL),
let html = String(data: pageData, encoding: .utf8) else {
print("Failed to download the webpage")
return
}
do {
// SwiftSoup을 사용하여 HTML 파싱
let doc: Document = try SwiftSoup.parse(html)
// 이전 요소를 찾을 태그 선택
let targetTag = "h1"
// 태그 선택자를 사용하여 이전 요소 추출
guard let previousElement = try doc.select(targetTag)?.first()?.previousElement() else {
print("Failed to find previous element")
return
}
// 이전 요소의 텍스트 출력
print("Previous Element Text: \(try previousElement.text())")
} catch {
print("An error occurred: \(error)")
}
위의 코드에서 url
변수를 원하는 웹페이지의 URL로 변경하고, targetTag
변수를 원하는 태그로 설정하면 됩니다. 이전 요소를 찾게 되면 해당 요소의 텍스트를 출력합니다.
참고 문서: