Swift 알라딘 베스트셀러 크롤링하기(SwiftSoup)

‍deprecated·2021년 2월 3일
0

Swift 시작하기

목록 보기
8/12

부캠 8기 여러분들은 여길 들어오게 됩니다...

SwiftSoup 설치는 다음 공식 readme를 참고하자.

우린 여기서 책 제목만 긁어오고자 한다.
해당 제목 element 우클릭 - [검사]를 눌러 위치를 확인하자.

//
//  ViewController.swift
//  iosCrawling
//
//  Created by YOONJONG on 2021/02/02.
//

import UIKit
import SwiftSoup

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        crawl()
    }    
}

func crawl(){
    let url = URL(string: "https://www.aladin.co.kr/shop/common/wbest.aspx?BranchType=1&start=we")
  
    guard let myURL = url else {   return    }
    
    do {
        let html = try String(contentsOf: myURL, encoding: .utf8)
        let doc: Document = try SwiftSoup.parse(html)
        let headerTitle = try doc.title()
        print(headerTitle)
        
        let firstLinkTitles:Elements = try doc.select(".bo3").select("b") //.은 클래스
        for i in firstLinkTitles {
            print("title: ", try i.text())
        }
        
        
    } catch Exception.Error(let type, let message) {
        print("Message: \(message)")
    } catch {
        print("error")
    }
    
}

긁어오고자 하는 제목과 가장 가까운 클래스가 "bo3" 이므로
doc.select(".bo3").select("b") 를 통해 <b>~~~~</b> 를 출력할 수 있고
b태그 안의 텍스트만 출력하기 위해 for문 안에 .text()를 더해주자.

출력:

알라딘: 베스트셀러
title:  주린이가 가장 알고 싶은 최다질문 TOP 77
title:  2030 축의 전환
title:  달러구트 꿈 백화점
title:  어린이라는 세계
title:  파친코 1
title:  파친코 2
title:  귀멸의 칼날 22
title:  모래알만 한 진실이라도
title:  돈의 시나리오
title:  2021 큰별쌤 최태성의 별★별한국사 기출 500제 한국사능력검정시험 심화(1.2.3급)
title:  나의 한국현대사 1959-2020
title:  해커스 토익 기출 보카 TOEIC VOCA 단어장
title:  신, 만들어진 위험
title:  공정하다는 착각
title:  타인을 읽는 말
title:  마법천자문 50
title:  어떻게 말해줘야 할까
title:  돈의 심리학
title:  ETS 토익 정기시험 기출문제집 1000 Vol. 2 Reading (리딩)
title:  서점 일기
title:  보위
title:  책에 갇히다
title:  디 앤서
title:  ETS 토익 정기시험 기출문제집 1000 Vol. 2 Listening (리스닝)
title:  마도조사 리커버 1~4 박스 특별판 세트 - 전4권
title:  우리가 사랑한 내일들
title:  시선으로부터,
title:  애린 왕자
title:  Go Go 카카오프렌즈 18 : 오스트리아
title:  주식 공부 5일 완성
title:  약속의 네버랜드 20
title:  실패를 사랑하는 직업
title:  나의 아름다운 이웃 (타계 10주기 특별판)
title:  코드네임 C
title:  귀멸의 칼날 22 + 2021 스케줄러 (한정판)
title:  주린이도 술술 읽는 친절한 주식책
title:  극락왕생 2
title:  주식투자 무작정 따라하기
title:  지렁이 울음소리 (타계 10주기 특별판)
title:  기나긴 하루 (타계 10주기 특별판)
title:  나는 강물처럼 말해요
title:  책의 말들
title:  니클의 소년들
title:  서울 아파트 황금 지도
title:  사이보그가 되다
title:  뉴욕주민의 진짜 미국식 주식투자
title:  2021 상장 기업 업종 지도
title:  마음챙김의 시
title:  큰별쌤 최태성의 별★별한국사 한국사능력검정시험 심화(1.2.3급) 상
title:  메타버스
profile
deprecated

0개의 댓글