본문 바로가기

빅데이터

python으로 twitter api 사용해보기

트위터 무료 API를 사용해보자!

1. API 키 받기

 

2. filter reamtime tweet을 써보자

 

 

 


 

1. API 키 받기

 

API 키를 받기 위해서는 트위터 ID로 developer apply를 받아야 한다.

 

twitter developer : developer.twitter.com/en

 

Use Cases, Tutorials, & Documentation

Publish & analyze Tweets, optimize ads, & create unique customer experiences with the Twitter API, Twitter Ads API, & Twitter for Websites. Let's start building.

developer.twitter.com

 

트위터에 developer 사이트에 로그인하면 등록이 안되어 있으면, 오른쪽 끝에 apply 라는 버튼을 눌러 등록할 수 있다.

 

그러면 다음과 같은 사이트가 나오는데, "Apply for a developer account"를 눌러주자

 

 

이제 이유를 선택하면 되는데, 나는 간단한 취미라서 exploring the api를 선택했다.

 

 

여기서 This is you, right? 아래 부분에 핸드폰 인증이 안되어있으면, 인증하라고 나오는데 핸드폰 인증하면 된다.

 

 

이제 아래에 우리나라, 닉네임을 정해주자.

 

 

이제 어떻게 쓸건지 적어야하는데 영어로 200자 써야한다... 나는 취미로, google cloud platform과 연동하여 스트리밍 서비스를 이용할거라고 영어로 막 적었다. 그리고 The specifics 아래는 전부 NO로 설정해서 따로 적어주진 않았다. 그러곤 바로 승인되어 사용할 수 있었다.

 

 

이제 다시 developer 페이지에 가보면 apply가 developer portal로 변할 것을 확인할 수 있다.

 

 

portal 에서는 프로젝트와 앱 관리, 제품군, 계정 설정을 할 수 있다. 

 

 

나는 간단하게 streaming 서비스를 만들 예정이니까 Projects & App을 만들어주었다. (열쇠 모양을 누르면 api key를 확인할 수 있다.

 

 

요기서 우리는 access token&secret도 써야한다. 처음에 generate로 적혀있을텐데 generate로 key를 생성해서 따로 적어두자.

 

 

2. filter reamtime tweet을 써보자

 

 

pypi.org/project/tweepy/

pip install tweepy

python에서 twitter api를 사용하기 위한 라이브러리를 설치해주자

 

 

import tweepy

twitter_api_key = ''
twitter_api_secret_key = ''
twitter_access_token = ''
twitter_access_token_secret = ''

class SimpleStreamListener(tweepy.StreamListener):
   def on_status(self, status):
       print(status)

stream_listener = SimpleStreamListener()

auth = tweepy.OAuthHandler(twitter_api_key, twitter_api_secret_key)
auth.set_access_token(twitter_access_token, twitter_access_token_secret)

twitterStream = tweepy.Stream(auth, stream_listener)
twitterStream.filter(track=['bts'])

developer portal에서 발급받은 api key를 적어 준 뒤, tweepy의 streamlistener를 이용하여 간단하게 데이터를 받아오고, print 해보자! 제일 아래 filter의 track 파라미터를 이용하여 원하는 데이터를 설정할 수 있다.

 

developer.twitter.com/en/docs/twitter-api/v1/tweets/filter-realtime/guides/basic-stream-parameters

 

Standard stream parameters

By using Twitter’s services you agree to our Cookies Use. We use cookies for purposes including analytics, personalisation, and ads.

developer.twitter.com

구체적인 파라미터는 위의 사이트에서 확인할 수 있다.

 

이제 tweet.py 를 실행해주면 데이터가 들어오는 것을 확인할 수 있다. 

 

 

이제 트위터에서 원하는 데이터를 받아오고, 분석하기 위한 준비를 할 수 있게 되었다!!

 

 


추가 적으로 해볼 것

 

google pub/sub 기능을 이용하여 원하는 topic을 자동으로 검색해주는 툴 만들어 보자

big query와 pub/sub을 연동해보자

쿠버네티스GKE를 통해 자동화 해보자