[swift] SwiftSoup을 이용해 웹페이지에서 이미지를 추출하는 방법은 무엇인가요?

SwiftSoup은 Swift용 HTML 파서 라이브러리입니다. 이를 사용하여 웹페이지에서 이미지를 추출하는 방법을 알아보겠습니다.

  1. SwiftSoup 라이브러리를 설치합니다. 프로젝트의 Podfile에 다음과 같이 추가합니다:
pod 'SwiftSoup'
  1. 터미널에서 pod install 명령을 실행합니다.

  2. 이미지를 추출하려는 URL을 가져옵니다. 예를 들어, 다음은 추출하고자 하는 이미지가 있는 웹페이지의 URL입니다:

let url = "https://www.example.com"
  1. SwiftSoup을 사용하여 해당 URL에서 HTML 문서를 가져옵니다:
do {
    guard let html = try? String(contentsOf: URL(string: url)!) else {
        return
    }
    let doc = try SwiftSoup.parse(html)
    // 이제 doc를 사용하여 이미지를 추출할 수 있습니다.
} catch {
    print("Error parsing HTML: \(error)")
}
  1. 추출된 HTML 문서를 사용하여 이미지 엘리먼트를 선택합니다. 이미지 태그는 <img>로 표시되며, doc.select("img")를 사용해 해당 이미지 엘리먼트들을 선택할 수 있습니다.
do {
    let images = try doc.select("img")
    for element in images {
        // 이미지 엘리먼트에서 src 속성을 가져와 이미지 URL을 추출합니다.
        let imageUrl = try element.attr("src")
        print("Image URL: \(imageUrl)")
    }
} catch {
    print("Error selecting images: \(error)")
}

이제 위의 코드를 사용하여 웹페이지에서 이미지를 추출할 수 있습니다. 추가로 필요한 작업을 수행하거나 추출된 이미지를 다운로드하는 등의 기능을 추가로 구현할 수도 있습니다.

참고 문서: