[swift] SwiftSoup을 활용하여 웹페이지에서 특정 아이디를 가진 요소를 선택하여 다른 태그로 변경하는 방법은?
먼저, SwiftSoup을 프로젝트에 추가해야 합니다. 이를 위해 Package.swift
파일에 다음 코드를 추가합니다:
dependencies: [
.package(url: "https://github.com/scinfu/SwiftSoup.git", .upToNextMajor(from: "2.3.2"))
]
그러면 터미널에서 swift package update
를 실행하여 종속성을 업데이트합니다.
다음으로, 해당 웹페이지를 가져오고 변환할 아이디를 가진 요소를 선택하는 코드를 작성합니다:
import SwiftSoup
func modifyElementWithTag() {
guard let url = URL(string: "https://example.com") else {
print("Invalid URL")
return
}
do {
let html = try String(contentsOf: url)
let doc = try SwiftSoup.parse(html)
let element = try doc.select("#myElementId") // 아이디가 "myElementId"인 요소 선택
if let firstElement = element.first() {
try firstElement.tagName("newTag") // 선택한 요소의 태그를 "newTag"로 변경
}
let modifiedHTML = try doc.html()
print(modifiedHTML) // 변경된 HTML 출력
} catch {
print("Error: \(error.localizedDescription)")
}
}
modifyElementWithTag()
이 코드는 https://example.com
에 있는 웹페이지에서 아이디가 “myElementId”인 요소를 선택하고, 해당 요소의 태그를 “newTag”로 변경한 후, 변경된 HTML을 출력합니다.
참고: SwiftSoup은 자바의 Jsoup 라이브러리를 Swift로 포팅한 것으로, HTML 파싱 및 조작을 위한 강력한 기능을 제공합니다. 자세한 사용법은 SwiftSoup GitHub 레포지토리를 참고하십시오.