-
R rtweet 트위터 (twitter) 로 좋아하는 연예인 텍스트 마이닝 (text mining) 하기 + 트윗 크롤링 (Crawling)R + Textmining (텍스트마이닝) 2020. 2. 14. 17:22
우리나라에서는 다소 제한적으로 사용되어지지만, 좋아하는 연예인(특히, 아이돌)의 소식을 알고 싶거나 팬들끼리 소통할 때 트위터(twitter)는 아마도 오늘날 가장 많이 활용하는 SNS일겁니다. 서양권과 특히, 일본에서 가장 보편적으로 사용하는 SNS이기도 한 트위터는 그 특성(retweet)때문에 온라인 상에서 가장 많은 데이터를 생산하는 어플리케이션 중 하나라고 생각이 됩니다
이번 게시글에서는 트위터로 좋아하는 연예인을 게시글을 모으는 방법과
이를 활용하여 시각화까지 해보도록 합시다
(이번글은 한글만 하겠습니다. 영어는 아직 다 코딩을 못했네요 중간에 막혀서...)
필요한 library는 아래와 같습니다
미처 언급하지 못한 library와 package는 그때그때 처리해주시길 바랍니다
-
library(base64enc)
-
library(KoNLP)
-
library(NIADic)
-
library(RmecabKo)
-
library(rtweet)
-
library(tidyverse)
-
library(igraph)
-
library(twitteR)
R은 트위터 관련 패키지가 대단히 잘 만들어져 있습니다
이를 활용하기 전에 필요한 것이 있습니다
바로 API key 입니다
1. 트위터 API key 받아오기
https://developer.twitter.com/en/apps에 접속하여 로그인합니다
Create an app을 클릭합니다
저는 이미 API Key를 받은상태이기에 유저분들이 보시는 화면과 다를 수 있습니다
문제 없으니 걱정마시고 클릭합니다
아래와 같은 페이지가 나오면
AppName
Applicaion Description
Website URL
Tell us how this app will be used를 작성하고
Allow this application to be used to sign in with Twitter에서 동의부분을 체크한 후
Create 버튼을 클릭합니다
다음과 같은 페이지가 나오면 "Keys and tokens"로 갑니다
API key 그리고 API secret key를 확인할 수 있습니다
그리고 Generate 버튼을 누르면
Access token 그리고 access token secret를 확인할 수 있습니다
그럼 이를 R로 할당하여봅시다
R studio를 켭니다
아래 명령어를 실행합니다
api_key <- "할당값"
api_secret_key <- "할당값"
access_token <- "할당값"
access_token_secret <- "할당값"
options(httr_oauth_cache = TRUE)
setup_twitter_oauth(api_key,api_secret_key,access_token,access_token_secret)
이렇게 R로 트위터를 활용한 준비가 끝났습니다 그러면 게시글을 크롤링 해봅시다
2. R로 트위터 게시글 크롤링
#### 수집가능한 메타정보
getCurRateLimitInfo() ## 어떠한 프레임으로 데이터를 크롤링하는지 알수 있습니다
#### 키워드 설정keyword_ko <- enc2utf8("아이즈원") ## 오늘은 한글 키워드만 모아서 시각화까지 해봅시다
keyword_ja <- enc2utf8("アイズワン") ## 일본어 키워드 입니다
keyword_en1 <- enc2utf8("IZONE") ## 영어 키워드 입니다
keyword_en2 <- enc2utf8("izone")
keyword_en3 <- enc2utf8("IZ*ONE")
keyword_en4 <- enc2utf8("iz*one")#### 트위터 크롤링
izone_ko <- searchTwitter(keyword_ko, n=1000, lang="ko", since="2020-02-11", until="2020-02-12")
명령어를 살펴봅시다
-
keyword_ko <- enc2utf8( )에 할당한 키워드
-
n = 가져오는 게시글 개수
-
lang = 언어 (국어 ="kr" / 영어 = "en" / 일본어 = "ja)
-
since = 시작일
-
until = 종료일
이를 유저들 편의에 따라 조정하여 명령어를 완성하고 실행합니다
#### df저장
izone_ko_df <- twListToDF(izone_ko) 데이터 프레임으로 저장합니다
#### 건수 확인
length(izone_ko) 불러온 게시글 갯수를 확인합니다
여기까지가 키워드가 들어간 게시글 원자료 Raw data 크롤링이 끝났습니다
다음페이지에서 시각화( bar chart / word cloud )를 알아봅시다
'R + Textmining (텍스트마이닝)' 카테고리의 다른 글
-