본문 바로가기
컴퓨터 COMPUTER/Urban Data Analytics 데이터분석

[파이썬을 이용한 웹크롤링] Twitter 트위터 데이터 크롤링 (TwitterScraper)

by 매실이 maesiri 2020. 7. 20.

트위터에서는 플랫폼을 적극적으로 활용할 수 있도록 관련 API 를 제공하는데, Twitter API (*API 란? https://medium.com/@dydrlaks/api-%EB%9E%80-c0fd6222d34c) 를 이용하면 원하는 정보에 거의 다 접근할 수 있기 때문에 흔히 쓰인다. 하지만 트위터 서버의 과부하를 방지하기 위해 이용 규모에 엄격한 제한이 있어 1주일 이상 지난 트윗을 크롤링할 수 없으며 15 분에 000 트윗 이상 크롤링할 수 없다. 때문에 많은 트윗을 모아와야 하는 프로젝트에는 적합하지 않다. 

 

따라서, 우리는 이와 비슷한 고민을 먼저 한 개발자가 오픈 소스 (*오픈 소스: 소프트웨어 혹은 하드웨어 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어)로 개발한 Twitter-Scraper 를 사용할 것이다. 이 API 는 트위터에서 걸어놓은 크롤링 가능 기간 제한 이전의 트윗들, 즉 7일 이상된 트윗들도 크롤링할 수 있다. 아래의 깃헙 페이지에서 파라미터의 상세한 사용방법이 나와 있다. 

 

Twitter-Scraper 의 github 페이지 : https://github.com/taspinar/twitterscraper

 

1-1. twitterscraper 설치 

 

pip 가 설치되어 있는 경우, 아래와 같은 명령을 명령프롬프트에 입력하여 손쉽게 twitterscraper 를 설치할 수 있다.

 

> pip install twitterscraper

 

1-2. twitterscraper 의 CLI 사용하기

*CLI = command line interface 

 

twitterscraper 설치가 완료되었으면 이제 용도에 맞게 사용하는 일만 남았다.

위에 twitterscraper github 페이지에서 2.2 부분을 참고하여 명령을 입력하면 된다.

 

예시로, ‘corona’ 라는 말이 들어간 2020년 2월 28일부터 2020년 3월 3일 사이에 10000개의 제한을 두고 트윗을 추출하여 corona-tweet.json 이라는 파일에 저장하는 명령을 해보았다. 규칙에 따라 아래와 같이 입력하면 내 작업공간에 corona-tweet.json 이라는 파일이 저장될 것이다.

 

> twitterscraper corona -o corona-tweet.json -l 10000 -bd 2020-02-28 -ed 2020-03-03 

 

그 파일을 열어서 확인해보면, 아래와 같이 json 형식의 파일로 정리되어있음을 확인할 수 있다. 참고로, 필자는 Atom 편집기 (https://atom.io/) 를 이용하여 json 파일을 열었다.

 

하나의 트윗에는 위치, 사용자정보, 해쉬태그, url 등 많은 정보가 들어있다. 트위터 개발자 페이지에서 트윗이 정확하게 어떤 정보를 담고 있는지 찾아볼 수 있다. (https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/intro-to-tweet-json )

 

 

반응형

댓글