1. 데이터 분석 목적
중국 메인 포털 사이트 중 하나인 sohu. 이중 "정책"색센의 글을 모아보려 한다.
이를 통해 최근 사이 중국 주요 정부 기관에서 발표한 정책의 변화를 알아보려한다.
2. 해당 URL:
#메인 페이지는 http://business.sohu.com/jrjg/index.shtml
#두 번째 페이지는 http://business.sohu.com/jrjg/index_322.shtml
#맨 마지막 100번째 페이지는 http://business.sohu.com/jrjg/index_224.shtml
3. 코딩 사례
library(httr)
library(rvest)
library(stringr)
for(i in 1:100){
shtml='.shtml'
if(i==1){
url=sprintf('http://business.sohu.com/jrjg/index%s',shtml)
}else{
page<-324-i
url=paste0('http://business.sohu.com/jrjg/index_',page,shtml)
}
}
h<-read_html(url)
article.titles=html_nodes(h,'div.f14list ul li a') #문제점1
article.links=html_attr(article.titles,'href') #문제점1
titles=c()
contents=c()
dates=c()
for(link in article.links){
h.link=read_html(link)
#제목 추출
title=repair_encoding(html_text(html_nodes(h.link,'div.left
h1')),from='UTF-8') #문제점2
titles=c(titles,title)
#내용 추출
content=repair_encoding(html_text(html_nodes(h.link,'div#contentText')),from='UTF-8')
contents=c(contents,content)
#날짜 추출
date=repair_encoding(html_text(html_nodes(h.link,'div.sourceTime')),from='UTF-8')
date=str_extract(date,'[0-9]+.[0-9]+.[0-9]+.')
dates=c(dates,date)
}
result=data.frame(titles,contents,dates)
View(result) #문제점3
setwd('d:/temp/r_temp')
write.table(result,'sohu.csv',sep=',')
sohu<-read.csv('sohu.csv')#문제점3
sohu[1,]
4. 코딩 후 문제점
1) 분명 URL을 긁을 때는 2016년 글이지만 article.titles=html_nodes(h,'div.f14list ul li a') 이후에는 2011년 8월 4일, 5일 글만 긁어진다.
2) UTF-8로 했음에도 불구하고 유니코드 문제가 해결이 안된다. 페이지 소스에서 보니 GBK 중국어 간체로 되어 있어 GBK로 해보아도 글자가 깨져 보인다.
3) View(result) 를 통해서 첫번째 column에 숫자 1,2,3 이렇게 시작되는 걸 볼 수 있는데, 엑셀에서도 숫자가 보여 Column의 제목이 왼쪽으로 하나씩 밀려졌다.
4) 크롤링 후 wordcloud 분석을 해야하는데 tmcn 패키지 설치가 안된다.
> install.packages("tmcn")
Warning in install.packages :
package ‘tmcn’ is not available (for R version 3.2.3)
공부를 좀 더 하여 위의 문제점을 개선하느데로 다시 업로드 할 예정.
포기하지 않고 될 때까지 계속 공부하면 된다라고 믿고, 계속 열심히 합시당.
'Python, R 분석과 프로그래밍' 카테고리의 다른 글
stars 함수 - 파이조각그림, 나이팅게일 차트 (0) | 2016.05.24 |
---|---|
R 회귀분석 (0) | 2016.02.28 |
beer data 연습 (0) | 2015.11.10 |
subset, mosiacplot, hist, var,sd (0) | 2015.10.31 |
dim, str, plot (0) | 2015.10.29 |