RLab03

    교보문고 베스트셀러 웹 크롤링

    url

    # 웹 크롤링1 : 교보문고 주간 베스트셀러
    
    # R 패키지 설치
    # httr 패키지(GET), rvst 패키지 (read_html())
    install.packages("httr")
    install.packages("rvest")
    
    library(httr)
    library(rvest)
    
    # GET 함수로 서버에 정보 요청하기. 
    url <- "http://www.kyobobook.co.kr/bestSellerNew/bestseller.laf?orderClick=d79"
    
    # 위 URL에 있는 html코드를 가져와야함.
    # 1)GET함수 이용해서 서버에 요청.
    # 2)read_html()함수 이용해서 html코드 읽어들임.
    data <- GET(url)
    data
    
    my_html <- read_html(data, encoding = "EUC-KR")
    my_html
    
    # 원하는 정보인 '주간베스트셀러 도서', 개발자도구로 확인
    # <strong>태그로 감싸져 있음.
    pick1 <- html_nodes(my_html, 'strong')
    pick1
    
    # 책제목 뿐만아니라 많은 정보들이 불러와짐.
    # strong태그로 a태그가 감싸고 있었음.
    pick1 <- html_nodes(my_html, 'a strong')
    pick1
    
    # title 클래스이름인 a태그안의 strong태그 추출
    pick1 <- html_nodes(my_html, '.title a strong')
    pick1
    
    # 태그를 제거하고 텍스트만 가져옴. html_text()사용
    result <- html_text(pick1)
    result
     [1] "트렌드 코리아 2021"                                 
     [2] "달러구트 꿈 백화점"                                 
     [3] "공정하다는 착각"                                    
     [4] "일인칭 단수(양장본 HardCover)"                      
     [5] "어떻게 말해줘야 할까"                               
     [6] "셀트리오니즘"                                       
     [7] "돈의 속성(100쇄 기념 에디션)(양장본 HardCover)"     
     [8] "나의 하루는 4시 30분에 시작된다"                    
     [9] "마음챙김의 시"                                      
    [10] "존리의 금융문맹 탈출"                               
    [11] "다산의 마지막 습관"                                 
    [12] "블랙 쇼맨과 이름 없는 마을의 살인(양장본 HardCover)"
    [13] "2인조(양장본 HardCover)"                            
    [14] "주식투자 무작정 따라하기(2020)(개정판)"             
    [15] "미스터 마켓 2021"                                   
    [16] "아몬드(양장본 HardCover)"                           
    [17] "위기의 시대, 돈의 미래(양장본 HardCover)"           
    [18] "인생은 소설이다"                                    
    [19] "좋은 사람에게만 좋은 사람이면 돼"                   
    [20] "Go Go 카카오프렌즈. 17: 러시아"         

    멜론 차트 순위 웹 크롤링

    # 웹 크롤링2 : 멜론 차트 순위 -top 10곡 리스트 가져오기
    library(httr)
    library(rvest)
    url <- "https://www.melon.com/chart/index.htm"
    
    # GET함수 이용하여 서버에 정보 요청
    get_url <- GET(url)
    get_url
    
    # 인코딩 방식 utf-8
    # read_html() 이용하여 html코드 불러옴
    my_html <- read_html(get_url, encoding = "utf-8")
    my_html
    
    # 개발자도구로 1위 제목을 확인
    # a태그로 감싸져 있음. 일단 a태그를 전부 가져옴
    pick1 <- html_nodes(my_html, "a")
    pick1
    
    # a태그는 span태그 하위에 있고, span태그는 다시 div태그 하위에 있음. div태그에는 class 속성값이 ellipsis rank01 이라는 클래스가 있음.
    pick1 <- html_nodes(my_html, ".ellipsis.rank01")
    pick1
    
    # a태그만 추출
    pick2 <- html_nodes(pick1, "a")
    pick2
    
    # a태그의 내용만 추출, trim옵션을 TRUE
    pick3 <- html_text(pick2, trim = TRUE)
    pick3
    
    
     [1] "VVS (Feat. JUSTHIS) (Prod. GroovyRoom)"                       
      [2] "내일이 오면 (Feat. 기리보이, BIG Naughty (서동현))"           
      [3] "Dynamite"                                                     
      [4] "잠이 오질 않네요"                                             
      [5] "힘든 건 사랑이 아니다"                                        
      [6] "밤하늘의 별을(2020)"                                          
      [7] "Achoo (Feat. pH-1, HAON) (Prod. GroovyRoom)"                  
      [8] "Lovesick Girls"                                               
      [9] "취기를 빌려 (취향저격 그녀 X 산들)"                           
     [10] "Life Goes On"                                                 
     [11] "Freak (Prod. Slom)"                                           
     [12] "뿌리 (Feat. JUSTHIS) (Prod. GroovyRoom)"                      
     [13] "오래된 노래"                                                  
     [14] "All I Want For Christmas Is You"                              
     [15] "Savage Love (Laxed - Siren Beat) (BTS Remix)"                 
     [16] "내 마음이 움찔했던 순간 (취향저격 그녀 X 규현)"               
     [17] "DON'T TOUCH ME"                                               
     [18] "딩가딩가 (Dingga)"                                            
     [19] "When We Disco (Duet with 선미)"                               
     [20] "어떻게 이별까지 사랑하겠어, 널 사랑하는 거지"       

    네이버 영화 순위 웹 크롤링

    # 웹 크롤링3 : 네이버 영화 순위
    library(httr)
    library(rvest)
    
    # 네이버에서 박스오피스라고 검색
    url <- "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%B0%95%EC%8A%A4%EC%98%A4%ED%94%BC%EC%8A%A4"
    
    get_url <- GET(url)
    get_url
    
    my_html <- read_html(get_url, encoding = "utf-8")
    my_html
    
    # 개발자도구를 이용하여 1위 제목에 접근
    # div태그의 class 속성값 title_box을 이용해서 추출
    
    pick1 <- my_html %>% html_nodes(".title_box")
    pick1
    
    # 태그 내용만 추출
    pick1 <- my_html %>% html_nodes(".title_box") %>%
      html_text(trim = TRUE)
    pick1  
     [1] "조제 2.2만명"                        
     [2] "이웃사촌 7,864명"                    
     [3] "도굴 3,736명"                        
     [4] "800 2,545명"                         
     [5] "런 1,714명"                          
     [6] "페이트 스테이 나이트 헤븐즈... 953명"
     [7] "극장판 바이올렛 에버가든 877명"      
     [8] "덩케르크 708명"                      
     [9] "인터스텔라 698명"                    
    [10] "스웨그 676명"                     
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading