2014년 4월 17일 목요일

[Using R] R을 사용하여 트위터 데이터 수집하기 - Twitter Oauth for R

트위터에 대한 데이터를 기준으로 간단한 감성분석 샘플을 만들어 보자. 참고된 스크립트는 데이터베이스 진흥원 빅데이터 아카데미에서 사용한 샘플 소스 임을 밝힌다. 트위터에 있는 글을 수집하기 위해서는 어플리케이션을 하나 임시로 만들어서 데이터 가져오기 위한 준비를 몇가지 해야 한다. 샘플은 영문으로 된 것을 기준으로 하며 한글로 된 데이터를 가져오는 부분은 추가로 포스팅에 업데이트 될 예정이다. 크게 다리지는 않지만 몇가지 작업들이 추가 된다.

1. twitter 계정 만들기 ( 별도 계정 생성은 설명을 붙이지 않는다 )

2. twitter에 접속 한 후 application 생성이 필요

    https://apps.twitter.com/ 접속 후 로그인


3. "Create New App" 클릭 




"Create your Twitter application" Click 

## 2016년 3월 - 기존 트위터 계정에서 모바일 번호 인증이 되어 있지 않으면 하지 못하도록 변경된 것 같다. 결국에 또 정보 제공 해주고 나서야 다시 가능 
그래서 첨부된 이미지에 이름이 달라졌습니다. " ozzang98_RTest " 로 등록 


4. 생성된 Application 정보를 참고하여 R 스크립트에 적용 한다. 


 * 최근에 Access Token 버튼이 추가 되어 Create New Access Token 을 추가 하여야 한다. 추가 하고 나면 아래의 그림과 같이 활성화가 된다. 

5. 설정이 끝나고 나면 이 정보를 가지고 R 에서 스크립트를 실행한다. 

* 실행환경 윈도우7 64비트, R 3.2.0, RStudio 0.98.1103 

# 기본적인 패키지 설치를 위한 구문 
install.packages("twitteR")
library(twitteR)
library(ROAuth)
library(RCurl)

#트위터 접근을 위한 정보 설정을 아래와 같이 함 
requestURL= "https://api.twitter.com/oauth/request_token"
accessURL= "https://api.twitter.com/oauth/access_token"
authURL ="https://api.twitter.com/oauth/authorize"


#상위의 4번 첨부 그림안에 있는 API KEY (본인의 설정에 따라 값이 다름) 
consumerKey="izSShtegtepjWqL1dTWZPg"  

#상위의 4번 첨부 그림안에 있는 API secret 값 
consumerSecret="u03nOZBzqsLrPEVWM2iFbCbDAkbrixPLsTpzZ1MQQ4"


twitCred=OAuthFactory$new(consumerKey=consumerKey,
                                          consumerSecret=consumerSecret, 
                                          requestURL=requestURL, 
                                          accessURL=accessURL, authURL=authURL)

#저장위치 수동지정(기본 Workspace 위치) 
setwd("C:/Users/John/Downloads")
download.file(url="http://curl.haxx.se/ca/cacert.pem",destfile="cacert.pem")
twitCred$handshake(cainfo="cacert.pem")

#이 단계에서 콘솔에 출력되는 URL을 입력하고 어플리케이션 승인을 해야 한다. 


# [그림 참조] PIN 번호 입력을 하고 나면 그 다음 스크립트를 실행 가능 함 


## 입력은 Console 창에서 입력하기 바란다. 

##save(list="twitCred",file="twitteR_credentials")
##load("twitteR_credentials")

registerTwitterOAuth(twitCred) #True 인증 완료 




## 2016년 3월 25일 추가 변경 
## 인증 방법 및 적용이 변경된 것 같으나 정확한 사유는 확인 하지 못했습니다. 
하여 혹시 관련 내용을 적용하시고자 하신다면 하단 내용으로 진행하시길 권장 합니다. 
#install.packages("twitterR")
#install.packages("ROAuth")
#install.packages("base64enc")
library(twitteR)
library(ROAuth)
library(base64enc)

consumer_key <- '3esVC69GlJcmxL4VezZ7CdKwu'
consumer_secret <- 'gwtwk1oMqQvi6ZfqPphQb9uJctCDIIldGxYymU9OcCAJDbkouQ'
access_token <- '133360027-x7e4FuoCVA4AsEFBMjhs4kvx3HN86ajsRQmG7mwJ'
access_secret <- 'ak2qVw9ioIXyLmUw1UqWHNHohJRRPfWzlDtABaHRYzJIr'

setup_twitter_oauth(consumer_key,consumer_secret,access_token,access_secret)


# 트위터글을 검색하여 트윗정보를 가져온다 
hilton.tweets <- searchTwitter("@hilton",n=50,cainfo="cacert.pem")

length(hilton.tweets)
class(hilton.tweets)
hilton.tweets[1:5]
tweet<-hilton.tweets[[1]]
tweet$getScreenName()
tweet$getText()

twitteR 패키지에 대한 메뉴얼을 하단의 링크를 참조 하시길 바랍니다. 



댓글 없음:

댓글 쓰기

언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...