공유자료 HOME > 자료실 > 공유자료
 
[R] 네이버 뉴스 댓글 수집 코드
관리자 16-09-30 16:53 3,278
안녕하십니까? 석사과정 3기 이중원입니다.

네이버 뉴스 댓글 수집 패키지 N2H4를 활용한 R 소스 코드입니다.
패키지 개발자 링크는 https://github.com/forkonlp/n2h4 이고 패키지의 라이선스는
MIT(Massachusetts Institute of Technology) 라이센스 입니다.
서버에 과한 부하를 가하는 빠른 수집은 비매너에 해당합니다.
확실히 필요한 만큼만 적정한 속도로 수집하시길 권장드립니다.

setwd("")
if (!require("devtools")) install.packages("devtools")
devtools::install_github("forkonlp/N2H4")
install.packages("iterators")
library(N2H4)

# N2H4 패키지 구동시 요구되는 실행환경
sessionInfo()


# 현재 시각과 character 변수화
t <- Sys.time()
cat(t,"\n")
t <- strftime(t,"%Y-%m-%d %H:%M:%S")

# 지정된 url로부터 댓글 데이터 수집.  lst[,-46] 부분은 NA 값이 들어오는 필드여서 임의로 제거.
comm <- getComment(turl = url)
comments <- comm$result$count$comment
comm <- getComment(turl = url , pageSize = comments, page = 1)
lst <- comm$result$commentList
lst <- as.data.frame(lst)
lst <- lst[,-46]
head(lst$contents)

# 반복문 예제
starttime <- vector()

# url 리스트를 csv나 텍스트 파일 형태로 가져올 경우
url <- readLines("urllink.csv")

for(i in 1:10){
 
  t <- Sys.time()
  cat(t,"\n")
  t <- strftime(t,"%Y-%m-%d %H:%M:%S")
  starttime[i] <- t
  comm <- getComment(turl = url[i])
  comments <- comm$result$count$comment
  comm <- getComment(turl = url[i] , pageSize = comments, page = 1)
  lst <- comm$result$commentList
  lst <- as.data.frame(lst)
  lst <- lst[,-46]
 
  write.csv(lst, paste("commentscollect",i,".csv",sep=""))
}

filename <- vector()
for(i in 1:10){
  filename[i] <- paste("commentscollect",i,".csv",sep="")
}

timelist <- cbind(filename,starttime)
write.csv(timelist, "timelist.csv")
# 댓글 데이터 파일은 commentscollect 번호 . csv로 저장, 수집 시작 시간은 timelist.csv에 저장.