[swift] SwiftSoup을 이용하여 웹 페이지에서 데이터를 추출하는 방법은?

SwiftSoup은 Swift에서 HTML 및 XML 문서를 구문 분석하고 조작하는 데 사용되는 라이브러리입니다. 이 라이브러리를 사용하면 웹 페이지에서 데이터를 추출하고 원하는 정보를 찾을 수 있습니다.

SwiftSoup 설치

SwiftSoup을 프로젝트에 추가하기 위해 CocoaPods를 사용할 수 있습니다. Podfile에 다음 코드를 추가하고 프로젝트를 빌드합니다.

pod 'SwiftSoup'

웹 페이지에서 데이터 추출하기

SwiftSoup을 사용하여 웹 페이지에서 데이터를 추출하려면 다음 단계를 따르세요:

  1. import SwiftSoup을 추가하여 SwiftSoup을 프로젝트에 가져옵니다.
  2. try? 또는 do-catch 문을 사용하여 인자로 URL을 전달하여 웹 페이지를 가져옵니다.
  3. let doc = try SwiftSoup.parse(html)과 같이 웹 페이지 HTML을 구문 분석하여 Document 객체를 생성합니다.
  4. doc.select("CSS selector")를 사용하여 원하는 내용을 선택합니다. CSS 선택자를 사용하여 요소를 찾습니다.
  5. 요소에서 원하는 데이터를 추출합니다. .text()를 사용하여 텍스트 내용을 가져올 수 있습니다.

다음은 코드 예시입니다:

import SwiftSoup

if let url = URL(string: "http://example.com") {
    do {
        let html = try String(contentsOf: url)
        let doc = try SwiftSoup.parse(html)
        if let title = try? doc.title() {
            print("Title: \(title)")
        }
        if let body = try? doc.body() {
            print("Body: \(body.text())")
        }
    } catch {
        print("Error: \(error)")
    }
}

위의 코드에서 http://example.com URL에서 웹 페이지를 가져와서 타이틀과 본문을 출력합니다.

이제 SwiftSoup을 사용하여 웹 페이지에서 데이터를 추출하는 방법을 알았습니다. SwiftSoup의 다양한 기능을 사용하여 웹 스크래핑이나 데이터 마이닝 작업에 유용하게 활용할 수 있습니다.

참고 자료