[swift] SwiftSoup을 이용해 웹페이지의 특정 태그를 삭제하는 방법은 무엇인가요?
- SwiftSoup 라이브러리를 설치합니다. SwiftPackageManger를 사용하는 경우, Package.swift 파일에 다음 의존성을 추가합니다:
dependencies: [ .package(url: "https://github.com/scinfu/SwiftSoup.git", from: "2.3.2"), ], targets: [ .target(name: "YourTarget", dependencies: ["SwiftSoup"]), ]
- SwiftSoup을 import 합니다:
import SwiftSoup
- 웹페이지의 HTML을 SwiftSoup으로 파싱합니다:
guard let html = "<html><body><h1>Title</h1><p>Hello, world!</p></body></html>".data(using: .utf8) else { return } guard let document = try? SwiftSoup.parse(String(data: html, encoding: .utf8)) else { return }
- 삭제할 태그를 선택합니다. 예를 들어,
<h1>
태그를 삭제하고 싶다면 다음과 같이 선택합니다:if let h1Tags = try? document.getElementsByTag("h1") { for h1Tag in h1Tags { try? h1Tag.remove() } }
- 최종적으로 변경된 HTML을 확인합니다:
let updatedHtml = try? document.html() print(updatedHtml)
위의 코드를 실행하면 <h1>
태그가 삭제된 HTML이 콘솔에 출력됩니다.
참고 문서: SwiftSoup GitHub 저장소