## 작성일: 2017.12.18
## 작성자: 춤추는초코칩
## 참고문허: R과Java로 크롤링하자
## Part04 데이터 분석 및 시각화
## Chapter10 데이터 분석(정제)
## Step0. 실습에 사용할 데이터 가져오기
library("rvest")
library("R6")
# 나무위키 반지의제왕 크롤링하기
# html 주소를 url에 저장
url <- 'https://namu.wiki/w/%EB%B0%98%EC%A7%80%EC%9D%98%20%EC%A0%9C%EC%99%95'
# read_html 함수를 사용하여 html 페이지를 htxt 변수에 저장
htxt <- read_html(url)
# html_nodes 함수를 사용하여 wiki-heading-content class에 해당하는 부분을 content 변수에 저장
content <- html_nodes(htxt,'.wiki-heading-content')
# html_text 함수를 사용하여 text 부분을 reviews 변수에 저장
review <- html_text(content)
review
## Step1. 분석 환경설정
## 데이터 정제를 위한 가장 중요한 패키지 KoNLP 설치. 주의:o는 소문자
##install.packages("KoNLP")
library(KoNLP)
## 작업폴더 지정
setwd("D:/R/R과Java로 크롤링하자")
getwd()
gc()
## 세종사전 설치
useSejongDic()
## Step2. 데이터 정제
## 크롤링된 데이터를 목록형태로 저장
text <- sapply(review,extractNoun,USE.NAMES = F)
## 필터링을 위해 unlist 함수를 사용해서 저장
data <- unlist(text)
## 글자수 2개 이상만 취급
data <- Filter(function(x){nchar(x)>=2},data)
## 불필요한 데이터 처리
data <- gsub("\\d+","",data)
data <- gsub(" ","",data)
data <- gsub("-","",data)
data
## 빈도표 작성
data_cnt <- table(data)
## 데이터 저장. 주의: 엑셀에서 한글이 깨질 때에는 [탭]데이터>[그룹]외부데이터가져오기>텍스트를 이용
write.csv(data_cnt,"TheLordOfTheRings.csv")
## 조금 더 처리해야할 텍스트가 보이는 것 같습니다
'R 크롤링' 카테고리의 다른 글
[R크롤링] 7. 텍스트마이닝: 연관어 분석 (4) | 2017.12.20 |
---|---|
[R크롤링] 6. 텍스트마이닝: 워드클라우드 (0) | 2017.12.19 |
[R크롤링] 4. 네이버 증권에서 삼성전자 주식 일별 시세 가져오기 (9) | 2017.12.16 |
[R크롤링] 3. R을 이용한 트위터 크롤링 (6) | 2017.12.11 |
[R크롤링] 2. R을 이용한 네이버(Naver) 영화 네티즌 리뷰 크롤링 (6) | 2017.12.09 |