R

naverNewsParser를 이용한 네이버 뉴스 크롤링

 

텍스트를 분석할 때 가장 먼저 할 일은 크롤링(Crawing)이다. 크롤링은 특정 사이트 내 웹페이지를 가져와 수집하는 행위를 말한다. 이런 작업을 도와주는 어플리케이션을 일컬어 크롤러(Crawler)라고 부른다. 여기에서는 깃허브에 공개된 R 라이브러리를 활용해 네이버 뉴스를 크롤링하려고 한다. 사용할 라이브러리는 ‘naverNewsParser’다. 네이버 뉴스만을 목표한 라이브러리로 범위는 협소하지만, 사용법이 매우 간단해서 활용도가 높다.

naverNewsParser는 R에 등록된 정식 라이브러리가 아니다. 깃허브에 접속해 내려받은 뒤 로컬에서 실행해야 한다. 우선 제작자의 깃허브1에 접속해 [Clone of Download]를 누른다. 다운 받은 크롤러는 압축을 풀고 R의 작업 폴더에 옮긴다. 작업폴더를 확인하는 방법은 [ > getwd() ] 다.2

설치를 끝냈으면 naverNewsParser를 불러온다. R 콘솔에 다음 함수를 입력한다.

 

source 함수를 통해 작업폴더내 getnavernews.R 를 불러온거다. encoding=UTF-8은 한글 크롤링을 위한 문자 포맷 설정이다. 코드를 실행하면 크롤러가 어떤 모드를 사용할 것이지를 묻는다.

 

여기에서 1번을 입력한다. 그 다음 크롤링 시작 날짜와 종료 날짜를 선택하라는 메시지가 뜬다. 아래 예시 같은 yyyy-mm-dd 형태로 수집할 데이터의 날짜를 입력한다.

 

모드와 날짜 선택을 마치면 네이버 뉴스 카테고리 중에서 어떤 뉴스를 크롤링할 것인지 묻는 메시지가 뜬다. 여기에서 1을 선택하면 전체 카테고리 뉴스를 가져오고, 2를 입력하면 각 카테고리에 대해 선택하게 된다. 여기에서는 2를 선택한다.

 

그러면 11개의 네이버 뉴스 카테고리 별로 크롤링 유무를 묻는 메시지가 뜬다. 1은 yes, 2는 no다. 각각 선택한다. 모든 선택이 끝나면 R이 네이버 뉴스 크롤링 작업을 시작한다. 자신이 선택한 모드와 카테고리에 따라 다르지만 적지 않은 시간이 소요된다. 크롤링한 데이터는 작업 폴더 내 ‘*.csv’ 파일로 깔끔하게 저장된다.

  1. https://github.com/mrchypark/naverNewsParser. 현재 최신버전은 v0.33
  2. 작업 폴더를 변경하려면 > setwd(“c:/작업 폴더”) 함수를 사용하면 된다.

Warning: printf(): Too few arguments in /home/lightover/html/wp-content/themes/fortunato-pro/inc/template-tags.php on line 47
되고 싶은 것보다 하고 싶은게 많아요. 어느 순간 둘 중 하나를 선택해야 한다면 하고 싶을 걸 택할 겁니다. 삶은 짧고, 불확실하니까.