단 10분 만에 초보자도 할 수 있는 트위터 API 연동, 가장 쉬운 가이드
목차
- 트위터 API, 왜 필요할까요?
- 트위터 API 사용 시작하기: 개발자 계정 신청
- 필요한 정보 확인하기: API Key와 Secret
- Python으로 트위터 API 연동하기: Tweepy 라이브러리
- 실전 예제: 특정 키워드가 포함된 트윗 검색하기
- 주의사항 및 팁
트위터 API, 왜 필요할까요?
트위터 API는 트위터의 다양한 기능들을 프로그래밍 방식으로 제어하고 활용할 수 있도록 해주는 도구입니다. 단순히 트위터 웹사이트나 모바일 앱을 이용하는 것을 넘어, 자동화된 작업을 수행하거나 데이터를 분석하는 데 필수적입니다. 예를 들어, 특정 키워드가 포함된 트윗을 실시간으로 수집하여 시장 트렌드를 파악하거나, 특정 계정의 팔로워 변화를 추적하여 마케팅 효과를 분석할 수 있습니다. 또한, 사용자가 직접 트윗을 작성하거나, 리트윗, 좋아요를 누르는 기능을 자동화하여 봇을 만들 수도 있습니다. 이처럼 트위터 API는 개발자, 데이터 과학자, 마케터 등 다양한 분야의 전문가들에게 강력한 무기가 되어줍니다.
트위터 API 사용 시작하기: 개발자 계정 신청
트위터 API를 사용하려면 먼저 트위터 개발자 계정을 신청해야 합니다. 이 과정은 매우 간단하며, 아래 단계에 따라 진행하면 됩니다.
- 트위터 개발자 포털 접속: 웹 브라우저에서
developer.twitter.com으로 이동합니다. - 계정 신청: 우측 상단의 “Developer Portal” 버튼을 클릭하고, 기존 트위터 계정으로 로그인합니다. 만약 계정이 없다면 먼저 일반 트위터 계정을 생성해야 합니다.
- 사용 목적 기재: 트위터 API를 사용하는 목적을 영어로 간단히 작성해야 합니다. 이 부분은 너무 복잡하게 생각할 필요 없이, “개인 프로젝트에서 트윗을 검색하고 분석하기 위함”과 같이 명확하고 간결하게 작성하는 것이 좋습니다. 예를 들어, “I want to search for tweets containing specific keywords for my personal project to analyze market trends.” 와 같이 작성할 수 있습니다.
- 약관 동의: 트위터 개발자 약관을 꼼꼼히 읽고 동의합니다.
- 신청 완료: 모든 단계를 마치면 트위터 API 개발자 계정이 생성됩니다. 신청이 승인되면 이메일로 알림이 옵니다. 대부분의 경우, 별다른 문제가 없다면 몇 분 내로 승인이 완료됩니다.
필요한 정보 확인하기: API Key와 Secret
개발자 계정이 승인되면 API를 사용하기 위한 핵심 정보인 API Key, API Secret Key, Bearer Token을 발급받아야 합니다. 이 정보들은 비밀번호와 같으므로 절대 외부에 노출되어서는 안 됩니다.
- 프로젝트 및 앱 생성: 개발자 포털에서 “Projects & Apps” 탭으로 이동하여 새로운 프로젝트를 생성합니다. 프로젝트 이름을 입력하고, 프로젝트의 사용 목적을 다시 한번 간단히 작성합니다.
- 앱 설정: 프로젝트 내에서 “App”을 생성하고 이름을 지정합니다. 이 앱은 API를 통해 트위터와 상호작용하는 하나의 단위가 됩니다.
- Keys and Tokens: 생성된 앱의 “Keys and Tokens” 탭으로 이동합니다. 이곳에서 API Key와 API Secret Key를 확인할 수 있습니다. 이 키들은 한 번만 표시되므로 반드시 안전한 곳에 복사해 두어야 합니다. 또한 Bearer Token도 함께 발급받아 복사해 둡니다.
- 액세스 토큰 생성: 만약 트윗을 작성하거나 좋아요를 누르는 등 계정 기반의 작업이 필요하다면 Access Token과 Access Token Secret도 생성해야 합니다. “Keys and Tokens” 탭 하단의 “Authentication Token” 섹션에서 생성할 수 있습니다. 이 정보들 또한 보안에 유의해야 합니다.
Python으로 트위터 API 연동하기: Tweepy 라이브러리
파이썬(Python)은 트위터 API를 가장 쉽게 사용할 수 있는 언어 중 하나이며, 특히 Tweepy라는 강력한 라이브러리가 존재하여 복잡한 API 호출 과정을 단순화해 줍니다. Tweepy는 트위터 API와의 통신을 위한 모든 복잡한 작업을 내부적으로 처리해주므로, 사용자는 몇 줄의 코드만으로 원하는 작업을 수행할 수 있습니다.
Tweepy 설치: 파이썬 환경에서 다음 명령어를 실행하여 Tweepy를 설치합니다.
pip install tweepy
기본 인증: 앞서 발급받은 Bearer Token을 사용하여 API에 접근할 수 있습니다. 이 방식은 주로 트윗을 검색하거나 공용 데이터를 읽어오는 데 사용됩니다.
import tweepy
# 발급받은 Bearer Token을 변수에 저장
bearer_token = "YOUR_BEARER_TOKEN"
# API 클라이언트 생성
client = tweepy.Client(bearer_token)
사용자 기반 인증: 트윗 작성, 팔로우 등 특정 사용자의 계정 권한이 필요한 경우 API Key, API Secret Key, Access Token, Access Token Secret을 사용한 인증이 필요합니다.
import tweepy
# 발급받은 키와 토큰을 변수에 저장
consumer_key = "YOUR_API_KEY"
consumer_secret = "YOUR_API_SECRET_KEY"
access_token = "YOUR_ACCESS_TOKEN"
access_token_secret = "YOUR_ACCESS_TOKEN_SECRET"
# API 클라이언트 생성
client = tweepy.Client(
consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
access_token_secret=access_token_secret
)
실전 예제: 특정 키워드가 포함된 트윗 검색하기
이제 Tweepy를 사용하여 실제 트윗을 검색하는 예제를 살펴보겠습니다. 이 예제는 특정 키워드(“파이썬”과 “트위터”를 포함하는 트윗)를 검색하고, 검색된 트윗의 내용과 작성자 정보를 출력합니다.
import tweepy
# 발급받은 Bearer Token을 변수에 저장
bearer_token = "YOUR_BEARER_TOKEN"
# API 클라이언트 생성 (Bearer Token 사용)
client = tweepy.Client(bearer_token)
# 검색할 키워드 설정
# "파이썬" 또는 "Python"이 포함되고, "트위터" 또는 "Twitter"가 포함된 트윗을 검색
# -is:retweet은 리트윗을 제외하는 규칙
query = '파이썬 OR Python 트위터 OR Twitter -is:retweet'
# 트윗 검색
# max_results는 한 번에 가져올 최대 트윗 수 (최대 100개)
response = client.search_recent_tweets(query=query, max_results=100)
# 검색 결과가 있다면 트윗 정보를 출력
if response.data:
for tweet in response.data:
print(f"작성자 ID: {tweet.author_id}")
print(f"트윗 내용: {tweet.text}")
print("---" * 10)
else:
print("검색 결과가 없습니다.")
위 코드를 실행하면, query에 설정된 조건에 맞는 트윗들이 출력됩니다. search_recent_tweets 함수는 최근 7일 이내의 트윗을 검색하며, max_results를 통해 가져올 트윗의 개수를 조절할 수 있습니다. Tweepy는 이 외에도 다양한 함수를 제공하여 트윗 작성, 좋아요, 팔로워 목록 가져오기 등 여러 가지 작업을 손쉽게 처리할 수 있습니다.
주의사항 및 팁
API Key 보안: 앞서 강조했듯이, API Key와 Secret은 절대 외부에 노출되어서는 안 됩니다. 깃허브(GitHub)와 같은 공개 저장소에 코드를 올릴 때는 dotenv 라이브러리를 사용하거나 환경 변수에 키를 저장하는 방식을 사용하는 것이 좋습니다.
API Rate Limit: 트위터 API는 사용량 제한(Rate Limit)이 있습니다. 이는 서버 과부하를 막기 위한 조치로, 일정 시간 동안 특정 API를 호출할 수 있는 횟수를 제한합니다. 예를 들어, search_recent_tweets는 15분당 450회 호출 제한이 있습니다. 무분별한 반복 호출은 제한에 걸려 프로그램이 멈출 수 있으므로, API 문서에서 각 기능의 제한 사항을 미리 확인하고 적절히 코드를 작성해야 합니다.
버전 확인: 트위터 API는 v1.1과 v2가 있습니다. 이 글에서 사용된 Tweepy 코드는 트위터 API v2를 기반으로 작성되었습니다. v1.1과는 사용 방법이 다르므로, 이전에 v1.1을 사용해 본 경험이 있더라도 v2 문서를 참고하여 새로운 방법을 익히는 것이 중요합니다. v2는 더 많은 기능과 유연성을 제공합니다.
문서 활용: 트위터 개발자 포털에는 모든 API 기능에 대한 상세한 문서가 마련되어 있습니다. 특정 기능이 필요할 때는 공식 문서를 참고하면 가장 정확하고 최신 정보를 얻을 수 있습니다.
이처럼 트위터 API는 초보자도 쉽게 접근하여 다양한 프로젝트에 활용할 수 있는 강력한 도구입니다. 이 가이드를 통해 첫걸음을 내딛고, 나만의 멋진 서비스를 만들어 보시기 바랍니다.