본문 바로가기
R 주제/크롤링

[R 크롤링] 6. 크롤링 예제3 (네이버 역대 영화 평점 순)

by 만다린망고 2020. 7. 31.
반응형

 

 

역대 영화 평점순 랭킹을 크롤링해볼 것입니다. 

구글에 네이버영화라고 검색하고 나오는 사이트에 들어갑니다. 좌측탭의 영화랭킹을 클릭합니다. 가운데 탭의 평점순을 클릭합니다. 

 

 

검사 도구를 켜고 이름을 클릭합니다. 

 

 

 

클래스가 tit5 입니다. 이번에는 평점 코드를 확인합니다. 

 

 

아래와 같이 크롤링하면 됩니다. 

 

#라이브러리 불러오기

library(httr)
library(rvest)

#GET 함수로 서버에 정보 요청하기

url = 'https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20210310'
get_url = GET(url)

#read_html 함수로 html 코드 읽기
my_html=read_html(get_url)


#태그를 이용하여 추출
title=my_html %>% html_nodes('.tit5') %>% html_text(trim=TRUE)
point=my_html %>% html_nodes('.point') %>% html_text(trim=TRUE)

rslt=data.frame(title,point)

 

위와 같이 크롤링하면 50개만 나옵니다. 1page에 해당되는 것인데요. 2page를 한번 클릭해봅시다. 

 

 

url에 &페이지넘버 가 추가됩니다. 확인 결과 마지막 페이지는 40입니다. 전체 리스트를 받기 원하는 경우 for문을 이용하면 됩니다. 아래와 같습니다. 

 

#라이브러리 불러오기

library(httr)
library(rvest)

#GET 함수로 서버에 정보 요청하기

result=data.frame()

for (i in 1:40) {
url = paste0('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20210310&page=',i)
get_url = GET(url)

#read_html 함수로 html 코드 읽기
my_html=read_html(get_url)


#태그를 이용하여 추출
title=my_html %>% html_nodes('.tit5') %>% html_text(trim=TRUE)
point=my_html %>% html_nodes('.point') %>% html_text(trim=TRUE)

result=rbind(result,data.frame(title,point))
}

 

 

반응형

댓글