본문 바로가기
Project/Blog New Post Noti

[New Post Noti] 파이썬 트위터 패키지 Tweepy

by Haren 2021. 9. 3.

지난 포스팅에서는 자동 트윗 봇을 만들기 위해 트위터 앱을 만드는 방법을 알아봤다.

 

>_지난 포스팅 보기

 

[Blog New Post Noti] 트위터 API를 사용해보자 (2) - 트위터 API 발급받기

지난 「트위터 API를 사용해보자 (1) - 트위터 개발자 계정 신청하기」 에서는 트위터 개발자 계정을 신청하고,승인을 기다리는 내용까지 다뤄보았다. 해당 내용이 필요하다면 아래 링크의 포스

heibondk.tistory.com

Python에서 트위터 API를 활용하려면 tweepy 패키지가 필수적이고, tweepy 패키지를 사용하려면 먼저 트위터 앱을 만들어서 API 키를 확보해두는 것이 선행되어야 하므로, 우선적으로 지난 포스팅대로 트위터 앱을 만들고 컨슈머 키와 컨슈머 키 시크릿을 저장해두도록 하자.


Tweepy

 

Tweepy 기술 문서 — tweepy 3.9.0 documentation

© Copyright 2009-2020, Joshua Roesslein Revision 17700c6b.

tweepy-ko.readthedocs.io

위 링크는 Tweepy 패키지의 기술 문서이다. 기존 텔레그램 봇에서 트위터 봇으로 변경하는 과정에 있어서 이 패키지가 가장 중요하다.

따라서 기술 문서를 주의깊게 살피고 필요한 클래스와 메소드를 숙지해두었다. 내가 사용한 클래스와 메소드 또한 본 포스팅에서 자세히 다뤄보도록 하겠다.

 

1. pip 설치 여부 확인

Python의 패키지 관리자인 pip를 이용할 것이기 때문에 pip가 설치되어있는지 확인을 해주자.

python과 함께 설치되기 때문에 대부분 설치가 되어있을 것이다.

$ pip

 

2. Tweepy 설치하기

$ pip install tweepy

터미널에서 위 명령어를 통해 pip로 tweepy를 설치할 수 있다.

 

3. 내가 사용할 Tweepy 클래스 및 메소드

tweepy.OAuthHandler 클래스

Tweepy에서는 OAuth 1aOAuth 2a 두 가지의 인증방식을 지원한다.

전자의 경우 '컨슈머 - 앱' 의 인증을, 후자의 경우 앱 단독의 인증을 수행하는 방식이다.

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

위 코드는 OAuthHandler의 인스턴스를 생성하는 과정으로, 트위터 앱을 생성하면서 얻은 컨슈머 키와 컨슈머 키 시크릿을 전달하게 된다.

자세한 사용법은 다음 포스팅에서 트윗 기능을 구현하면서 설명하도록 하겠다.

 

 

• .update_status 메소드

API.update_status(트윗할 내용)

.update_status 메소드를 한 마디로 요약하면 "트윗을 작성한다." 라고 볼 수 있다.

해당 메소드는 인증된 사용자의 status를 업데이트하는 메소드이며 중복된 내용의 트윗 업데이트 시도를 차단하며 에러 HTTP 403을 반환한다고 한다. 더불어서 사용자의 일일 트윗 작성 제한수를 초과할 경우에도 똑같이 HTTP 403 에러를 반환한다.

 

실제로 자동 트윗 기능을 구현하는 데에 있어서 위의 두 클래스와 메소드만으로도 충분하다. 이 외에도 리트윗, 다이렉트 메시지, 마음에 들어요 등 트위터의 기능들을 제어할 수 있는 메소드들이 다양하다. 따라서 구현하고 싶은 기능을 메소드들을 충분히 활용한다면 전부 만들어 낼 수 있을 것 같다.

 


 

이렇게 블로그에 새 글이 올라오면 자동으로 트윗을 해주는 기능을 구현하기까지의 준비가 끝났다.

다음 포스팅에서는 이 Tweepy 패키지를 이용해서 간단히 트윗을 올리는 방법을 알아보고, 이후로는 내 봇이 어떤 식으로 작동하는지 알아보는 시간을 갖도록 하겠다.