[swift] SwiftSoup을 이용하여 웹페이지에서 특정 태그를 이동하는 방법은?

웹 스크래핑을 하기 위해 HTML 문서에서 특정 태그를 찾아 이동해야하는 경우가 많습니다. 이를 위해 SwiftSoup라는 라이브러리를 사용할 수 있습니다.

SwiftSoup은 Swift에서 HTML을 파싱하고 조작하는 데 사용되는 간단하고 강력한 라이브러리입니다. 이를 사용하여 웹페이지에서 특정 태그를 찾고 태그를 이동할 수 있습니다.

아래는 SwiftSoup을 사용하여 웹페이지에서 특정 태그를 이동하는 방법의 예시 코드입니다.

import SwiftSoup

// 웹페이지의 HTML 코드를 가져옵니다.
guard let html = "<html><body><div id=\"content\">Hello, World!</div></body></html>" else {
    print("HTML 가져오기 실패")
    return
}

do {
    // HTML 코드를 파싱하여 SwiftSoup 객체를 생성합니다.
    let doc: Document = try SwiftSoup.parse(html)
    
    // 원하는 태그를 선택합니다.
    let element: Element = try doc.select("div#content").first()!
    
    // 태그의 내용을 출력합니다.
    print(try element.text())
} catch {
    print("파싱 오류: \(error)")
}

위의 코드에서는 테스트 용도로 변수 html에 HTML 코드를 문자열로 직접 입력하였지만, 실제 웹페이지의 HTML 코드를 가져오는 방법은 다를 수 있습니다. 네트워크 요청을 통해 웹페이지의 HTML 코드를 가져올 수도 있습니다.

doc.select("div#content")는 CSS 선택자를 사용하여 웹페이지에서 idcontentdiv 태그를 선택합니다. first() 메서드를 호출하여 선택된 태그 중 첫 번째 태그를 가져옵니다. element.text()는 선택한 태그의 내용을 반환합니다.

이와 같이 SwiftSoup을 사용하면 웹페이지에서 원하는 태그를 쉽게 찾고 조작할 수 있습니다.

참고 자료: