[swift] SwiftSoup을 사용하여 웹페이지에서 특정 태그의 내용을 변경하는 방법은?
  1. SwiftSoup을 프로젝트에 추가합니다. Swift Package Manager를 사용하여 SwiftSoup을 설치합니다. Package.swift 파일에 아래 코드를 추가합니다.
...
dependencies: [
    ...
    .package(url: "https://github.com/scinfu/SwiftSoup.git", from: "2.3.2")
],
targets: [
    .target(
        name: "YourTarget",
        dependencies: [..., "SwiftSoup"]
    ),
    ...
]
...
  1. SwiftSoup를 import 합니다.
import SwiftSoup
  1. 원하는 웹페이지의 HTML을 가져옵니다.
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)
    // 태그 내용을 변경할 코드를 작성합니다.
} catch {
    print("Error: \(error)")
}
  1. 특정 태그의 내용을 변경합니다.

예를 들어, <p> 태그 내부의 텍스트를 변경하려고 한다면, 아래와 같은 방법을 사용할 수 있습니다.

do {
    let paragraphs = try doc.select("p")
    for paragraph in paragraphs {
        try paragraph.text("새로운 내용")
    }
} catch {
    print("Error: \(error)")
}

이렇게 하면 웹페이지에서 모든 <p> 태그의 내용이 “새로운 내용”으로 변경됩니다.

  1. 변경된 내용을 원하는 형식으로 출력하거나 저장합니다.
do {
    let modifiedHTML = try doc.html()
    print(modifiedHTML) // 변경된 HTML 출력

    // 파일로 저장하려면
    let fileURL = ... // 저장할 파일의 URL
    try modifiedHTML.write(to: fileURL, atomically: true, encoding: .utf8)
} catch {
    print("Error: \(error)")
}

프로젝트에서 SwiftSoup을 사용하여 웹페이지의 특정 태그의 내용을 변경하는 방법에 대해서 알아보았습니다. 위 예제를 기반으로 원하는 태그 및 내용을 변경하는 코드를 작성하면 됩니다.