Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 데이터문서포맷
- 자바
- Ajax
- 프로그래밍용어
- Java
- XML Core
- Request/Response Header
- Session
- HTTP
- Servlet
- xml mapping
- 자바스크립트
- xml
- 데이터베이스
- 데이터포맷
- Multipart
- 웹프로그래밍
- JSP
- XML DOM
- 스프링프레임워크
- Database
- 데이터규정
- JSTL
- 세션
- 카카오APi
- java annotation
- 공문서작성규정
- 반응형웹
- JavaScript
- java컴파일
Archives
- Today
- Total
KyungHwan's etc.
R 웹 크롤링 or 워드클라우드 본문
# 이 디렉터리에 분석할 데이터를 가져다 놓고 결과물을 생성합니다.
setwd("c:/r_working") # <-- 작업 디렉토리는 임의로 지정하세요
## 크롤링 패키지 불러오기
install.packages("rvest")
library("rvest")
install.packages("R6")
library("R6")
# https://www1.president.go.kr/articles/1827 another speech
# html 주소를 url에 저장
url <- 'https://www1.president.go.kr/articles/4334'
# read_html 함수를 사용하여 html 페이지를 htxt 변수에 저장
library("xml2")
htxt <- read_html(url)
htxt
# html_nodes 함수를 사용하여 cs_body class에 해당하는 부분을 content 변수에 저장
library("rvest")
content <- html_nodes(htxt,'.cs_body')
# html_text 함수를 사용하여 text 부분을 speach 변수에 저장
speach <- html_text(content)
speach
## Step1. 분석 환경설정
## 한글에 대한 텍스트 마이닝 패키지 KoNLP 설치. 주의:o는 소문자
## 워드클라우드 패키치 wordcloud
## 워드클라우드 단어에 색상을 입히는 패키지 RColorBrewer
install.packages("KoNLP") # 한국어 관련 작업을 할 때 꼭 필요한 기능을 가진 패키지 입니다
library(KoNLP) # 설치된 패키지를 Loading 합니다.
install.packages("RColorBrewer")
library(RColorBrewer)
## 세종사전 설치
useSejongDic()
## Step2. 데이터 정제
## 크롤링된 데이터에서 단어 추출하기
## 명사 추출 함수인 extracNoun 함수 사용
pword <- sapply(speach,extractNoun,USE.NAMES = F)
pword
## 필터링을 위해 unlist 함수를 사용해서 저장
data <- unlist(pword)
data
# 파일에 저장해 둡니다.
write(data,"moon_speech.txt")
## 글자수 2개 이상만 취급
data <- Filter(function(x){nchar(x)>=2},data)
data
## 불필요한 데이터 처리
## 한 번 이상의 숫자
data <- gsub("\\d+","",data)
data
## 새로운 라인
data <- gsub("\\n","",data)
## 줄 끝 문자를 제외한 모든 문자
data <- gsub("\\.","",data)
data <- gsub("\n","",data)
data <- gsub(" ","",data)
data <- gsub("-","",data)
data
## Step3. 워드클라우드
## 빈도표 작성
data_cnt <- table(data)
data_cnt
## 내림차순 정렬 후 상위 30개 표시
head(sort(data_cnt, decreasing=T), 30)
## 그래픽 구현창(팝업창) 생성
library(RColorBrewer)
palete <- brewer.pal(9, "Set1")
x11()
## 워드클라우드 실행
install.packages("wordcloud") # Word Cloud 작업을 해 주는 패키지 입니다
library(wordcloud)
wordcloud(names(data_cnt),freq=data_cnt,scale=c(5,0.5),rot.per=0.25,min.freq=1,
random.order=F,random.color=T,colors=palete)
## 그림으로 저장합니다.
?savePlot
savePlot(filename = "moons_peech.png", type="png")
'R' 카테고리의 다른 글
카카오톡 대화 wordcloud 구현 (0) | 2018.10.20 |
---|---|
R을 이용한 차트 그리기 (0) | 2018.10.16 |
R 기본 데이터형 (0) | 2018.10.14 |
R 기본 문법 연습 3 (0) | 2018.10.14 |
R 기본 문법 연습 2 (0) | 2018.10.14 |
Comments