[swift] SwiftSoup을 이용해 웹페이지에서 특정 ID를 가진 모든 요소를 선택하는 방법은 무엇인가요?
먼저, SwiftSoup을 프로젝트에 추가해야 합니다. Cocoapods를 사용한다면 Podfile에 다음과 같이 추가합니다:
pod 'SwiftSoup'
이제 SwiftSoup을 import 하고, 다음 코드를 사용해 원하는 웹페이지를 파싱합니다:
import SwiftSoup
let html = "<html><body><div id='my-id'>Hello World 1</div><div id='my-id'>Hello World 2</div></body></html>"
let doc: Document = try SwiftSoup.parse(html)
let elementsWithId: Elements = try doc.select("#my-id")
for element in elementsWithId {
print(try element.text())
}
위의 코드에서 html
상수에는 파싱하려는 웹페이지의 HTML 코드가 포함되어 있습니다. doc.select("#my-id")
라인을 통해 my-id
라는 ID를 가진 모든 요소를 선택할 수 있습니다. 선택된 요소들은 elementsWithId
라는 변수에 저장되고, 이후 반복문을 통해 원하는 작업을 수행할 수 있습니다.
위의 예제 코드에서는 선택된 요소들의 텍스트를 출력하도록 작성되었습니다. 원하는 작업에 맞게 코드를 수정하여 사용하시면 됩니다.
참고: SwiftSoup은 Jsoup 라이브러리의 Swift 포팅 버전으로, 자세한 사용법은 공식 문서를 참고하시기 바랍니다. SwiftSoup 공식 문서