본문 바로가기

교육

rtweet 사용법 │BTS meal │R 크롤링

이번 포스팅은 rtweet 패키지를 이용한 트윗 R 크롤링 방법에 관하여 정리합니다. 사례는 "#BTS meal"를 이용합니다. rtweet은 본인의 트위터 계정만 있다면 별도의 승인 절차 없이 필요한 트윗을 수집할 수 있다는 점에서 매우 편리합니다. 마지막으로 R 실습 코드는 포스팅 하단에 업로드해 두었습니다. 

 

1. rtweet 설치, 트위터 로그인 그리고 트윗 검색수집 

R에서 install.packages("rtweet"); library(rtweet) 을 실행한 후, "#BTS meal" 해시태그를 통해 최대 트윗 수집건수인 18,000개를 수집하는 R 스크립트를 실행하면, 다음 그림처럼 트위터 로그인을 요구합니다. 

트위터 로그인 화면
트위터 로그인 화면

 

트윗은 한 번에 최대 18,000개까지 수집이 가능합니다. 그 이상도 가능하지만 시간이 매우 많이 소요된다고 하니 참고하기 바랍니다.
트윗수집이 완료되면, #3. 트윗 데이터 미리 보기를 통해 수집된 트윗의 다양한 정보를 확인할 수 있습니다. 다만, 우리는 구체적인 트윗 본문 내용이 필요합니다 #3. 트윗 데이터 미리 보기에서 변수명이 text인 컬럼을 찾을 수 있습니다. 해당 내용이 우리가 필요로 하는 트윗 본문입니다. 

BTS meal 트윗 수집
"#BTS meal" 트윗 검색 및 수집

 

2. BTS meal 트윗건수의 시계열 변화 

ts_plot을 이용하면 그림처럼 지난 9일 동안 3시간 간격으로 집계된 트윗 18,000 건수의 시계열 변화를 플로팅 할 수 있습니다. BTS meal은 5월 26일부터 6월 20일까지 한정 판매된다고 하는데요, 트윗 건수도 26일부터 급증하기 시작해 27일 최대 트윗건수를 기록합니다. 

BTS meal 트윗건수 시계열 변화
BTS meal 트윗건수의 시계열 변화 

 

3. 전처리 

SNS의 매체 특성상 텍스트 데이터 수집 후, 정제 작업은 다른 텍스트 데이터 정제 작업에 비해 상대적으로 손도 많이 가고, 더불어 시간도 많이 소요되는 경향이 있습니다. 구체적인 데이터 정제 과정은 첨부한 R 스크립트 파일을 참조하여 실행해 보기 바랍니다. 

BTS meal 트윗 전처리
BTS meal 트윗 전처리 

4. 워드클라우드 

정제된 데이터를 이용하여 단어-문서 행렬을 구성한 후, 빈도수 기준으로 단어들을 정렬합니다. 이 중 100회 이상 등장한 단어들을 이용하여 워드 클라우드로 시각화하면 다음 그림과 같은 결과를 얻을 수 있습니다. 

Bts meal 트웟 워드클라우드
Bts meal 트웟 워드클라우드 


다음 영상은 포스팅 하단에 있는 R 스크립트를 활용한 #BTS meal 수집, 시계열 변화 따른 프롤팅, 데이터 정제 및 워드클라우드까지 실행한 영상입니다. 개인적으로 실습할 때 아래 영상도 함께 참고하기 바랍니다. 

rtweet을 이용한 BTS meal 트윗수집과 텍스트 마이닝 실행

 

5. 정리

BTS meal 해시태그를 이용하여 트윗을 검색하고, 트윗건수의 시계열 변화, 데이터 정제 후 워드 클라우드까지 구현해 보았습니다. 이번 포스팅에서 사용한 R 스크립트들을 다음 블로그를 참고하여 실행되었습니다. 이번 포스팅에서 다루지 않은 내용도 많이 있으니, 그 외 내용은 해당 블로그를 참고하기 바랍니다. 마지막으로 이번 포스팅에서 사용한 R스크립트도 함께 첨부합니다. 

rtweet bts meal.R
0.00MB