지난 포스팅에서는 파이썬에서 트위터를 제어하기 위한 패키지인 Tweepy에 대해서 알아보았다.
파이썬으로 트윗 봇을 만드려면 Tweepy 설치가 선행되어야 하므로, 아직 설치하지 않았다면 지난 포스팅을 통해 설치를 하자.
>_ 지난 포스팅 보기
이번 포스팅에서는 파이썬에서 Tweepy 패키지를 이용해서 트윗을 작성하는 방법에 대해서 알아보고자 한다.
1. 트위터 앱의 API 준비하기
위 포스팅처럼 트위터 앱을 만들어서 컨슈머 키, 컨슈머 키 시크릿, 접근(엑세스) 토큰, 접근(엑세스) 토큰 시크릿을 준비해주자.
위 포스팅에서 설명용으로 만들었던 트위터 앱이 이미 있으므로, 이것을 사용하도록 하겠다. API 키값들은 따로 저장해두었을테니 그것을 이용하자.
2. Python 예제 코드
import tweepy
def update_tweet(tweet):
api_key = #'컨슈머 키'
api_key_secret = #'컨슈머 키 시크릿'
access_token = #'앱의 엑세스 토큰'
access_token_secret = #'앱의 엑세스 토큰 시크릿'
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.update_status(tweet)
update_tweet('예제를 작성해봅시다.')
update_tweet() 함수 안에서 컨슈머 키, 컨슈머 키 시크릿, 앱의 접근(엑세스) 토큰, 앱의 접근(엑세스) 토큰 시크릿 이 네 개의 값을 넣어준다는 것을 확인 할 수 있다. 이 부분에는 자신의 값을 넣어주되, 문자열을 직접 넣을 경우에는 작은 따옴표 (' ')를 잊지말자.
코드를 자세히 살펴보자.
import tweepy
맨 윗줄에서는 tweepy 패키지의 기능들을 사용하기 위해 import를 해주고 있다.
def update_tweet(tweet):
api_key = #'컨슈머 키'
api_key_secret = #'컨슈머 키 시크릿'
access_token = #'앱의 엑세스 토큰'
access_token_secret = #'앱의 엑세스 토큰 시크릿'
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.update_status(tweet)
트윗을 작성하기 위해 정의한 update_tweet() 함수의 모습이다.
키 값을 넣는 과정은 앞에서 먼저 설명을 했으니 넘어가고, 그 아래의 부분을 알아보도록 하겠다.
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token, access_token_secret)
이 부분은 전 포스팅에서 Tweepy를 소개하며 간단히 짚은 부분이다. 자세히 알아보자면 이는 사용할 때마다 토큰에 계속 접근할 필요가 없도록 차후 사용을 위해 접근 토큰을 저장하는 과정이기도 하다.
OAuthHandler의 인스턴스를 생성하는 과정이며, 이 부분에는 위에서 저장한 키 값 중 컨슈머 키와 컨슈머 키 시크릿을 넘겨준다는 사실을 알 수 있다.
.set_access_token() 에서는 저장된 접근 토큰을 이용해 다시 OAuthHandler를 실행하기 위한 과정을 수행하며, 접근 토큰과 접근 토큰 시크릿을 넘겨주어 내가 만든 트위터 앱에 접근할 수 있도록 한다. 이 부분에서 앱의 접근 토큰이 필요한 것이다.
자세한 설명은 Tweepy 공식 레퍼런스의 '인증 지침'을 참고하면 좋다.
api = tweepy.API(auth)
api.update_status(tweet)
update_Tweet() 함수에서 위의 부분은 .OAuthHandler에 컨슈머 키와 컨슈머 키 시크릿을 넘겨주어 생성된 인스턴스, 인증 핸들러를 매개변수로 .API 메소드 래퍼를 이용하여 넘겨준 뒤 트윗을 작성해주는 메소드인 .update_status() 에 매개변수로 트윗의 내용을 전달해주며 트윗을 작성하게 된다.
update_tweet("예제를 작성해봅시다.")
함수의 매개변수 tweet의 내용을 문자열로 넘겨주어 '예제를 작성해봅시다.' 라는 내용을 트윗하게 된다.
3. 실행 결과
만들었던 트위터 앱이 연동되어있는 계정에 트윗이 작성되는 것을 확인 할 수 있다.
트윗 정보의 'StargazerNotiBot' 은 포스팅을 하면서 만든 트위터 앱이 아닌, 원하는 기능 구현이 완료된 트위터 앱의 이름이다. 저 부분에 자신이 만든 트위터 앱의 이름이 들어간다고 보면 된다.
이번 포스팅에서는 위와 같이 간단히 Python으로 트윗을 할 수 있는 기능을 구현해보았다.
다음 포스팅부터는 본격적으로 내 블로그에 새 글이 올라왔을 때 트윗을 남기는 기능 구현에 대해서 다뤄봐야겠다.
'Project > Blog New Post Noti' 카테고리의 다른 글
[New Post Noti] 새 포스팅 알림 트윗하기 (0) | 2021.09.08 |
---|---|
[New Post Noti] 블로그를 파싱해보자. (0) | 2021.09.04 |
[New Post Noti] 파이썬 트위터 패키지 Tweepy (0) | 2021.09.03 |
[New Post Noti] 트위터 API를 사용해보자 (2) - 트위터 API 발급받기 (2) | 2021.09.01 |
[New Post Noti] 트위터 API를 사용해보자 (1) - 트위터 개발자 계정 신청하기 (6) | 2021.08.31 |