본문 바로가기

R 크롤링

[R크롤링] 1. R을 이용한 다음(Daum) 영화 네티즌 리뷰 크롤링

반응형

## 작성일: 2017.12.08

## 작성자: 춤추는초코칩

## 참고문허: R과Java로 크롤링하자

## Part03 R을 활용하여 크롤링하기

## Chapter06 다음(Daum) 영화 네티즌 리뷰


# 작업폴더 경로 확인

getwd()

# 파일을 저장한 폴더를 재정의

setwd("D:/R/R과Java로 크롤링하자")

getwd()


# 패키지 인스톨

# install.packages("rvest")

# install.packages("R6")


library("rvest")

library("R6")


# daum 영화('메리와 마녀의 꽃') 리뷰 1쪽을 크롤링

# html 주소를 url에 저장

url <- 'http://movie.daum.net/moviedb/grade?movieId=112942&type=netizen&page=1'

# read_html 함수를 사용하여 html 페이지를 htxt 변수에 저장

htxt <- read_html(url)

# html_nodes 함수를 사용하여 desc_review class에 해당하는 부분을 content 변수에 저장

content <- html_nodes(htxt,'.desc_review')

# html_text 함수를 사용하여 text 부분을 reviews 변수에 저장

review <- html_text(content)

review


# 이 책에서는 20페이지까지의 영화 리뷰를 크롤링하였다.


url_base <- 'http://movie.daum.net/moviedb/grade?movieId=112942&type=netizen&page='


all.reviews <- c()


for(page in 1:20){

  url <- paste(url_base,page,sep='',encoding="euc-kr")

  htxt <- read_html(url)

  table <- html_nodes(htxt,'.review_info')

  content <- html_nodes(table, '.desc_review')

  reviews <- html_text(content)

  if(length(reviews)==0){break}

  all.reviews <- c(all.reviews, reviews)

  print(page)

  

}


# write.table 함수를 사용하여 크롤링한 자료를 txt파일로 저장

write.table(all.reviews, 'daum.txt')

반응형