Just Fighting

트위터 API 사용하기 본문

Python

트위터 API 사용하기

yennle 2022. 6. 18. 20:26
728x90

먼저 tweepy 설치를 먼저 해준다.

cmd창을 관리자 권한으로 실행한뒤 다음 코드를 입력한다.

pip install tweepy

 

오류가 나서 서치를 해보니까 아래 코드를 넣어주어야 한다고 함.

pip install tweepy --use-feature=2020-resolver

 

 

나는 쥬피터 노트북을 사용했다.

트위터 API를 사용하기 위해서는 트위터에게 신청을 해야한다. (그 과정은 생략하겠다)

신청을 하면 여러가지 key와 토큰을 주는데 그것들을 잘 보관해두어야 한다.

 

 

 

아래 주소에 들어가보면 각종 언어에서 사용할 수 있는 라이브러리 목록을 제공한다.

나는 파이썬을 사용했고, 그중에서 tweepy를 사용했다.

https://developer.twitter.com/en/docs/twitter-api/tools-and-libraries/v2

 

Twitter API v2 tools & libraries

Explore our official and community-supported tools and libraries for Twitter API.

developer.twitter.com

 

 

 

시작하기 앞서 먼저 인증을 해야한다.

나는 bearer_token을 사용했고, 다른 방식을 사용하는 방법은 아래 깃허브 주소에 있다.

https://github.com/tweepy/tweepy/blob/master/examples/API_v2/authentication.py

import tweepy

bearer_token = ""

# You can authenticate as your app with just your bearer token
client = tweepy.Client(bearer_token=bearer_token)

 

 

 

< 유저 정보 가져오기 >

나는 방탄소년단의 계정을 이용해서 연습을 했다.

어떤 계정의 트윗들을 가져오고 싶으면 그 계정의 id를 알아야한다.

그러나 내가 알고 있는 것은 계정명 밖에 없었다.

하지만 tweepy에는 get_user()라는 함수를 이용해 계정의 정보를 가져올 수 있다.

https://docs.tweepy.org/en/latest/client.html#tweepy.Client.get_user

client.get_user(username='계정')

@BTS_twt의 id 정보를 얻을 수 있었다.

 

 

 

< 특정 계정의 트윗 가져오기 >

get_users_tweets() 함수를 사용한다.

https://github.com/tweepy/tweepy/blob/master/examples/API_v2/get_users_tweets.py

bts = client.get_user(username='BTS_twt')

# By default, only the ID and text fields of each Tweet will be returned
# Additional fields can be retrieved using the tweet_fields parameter
response = client.get_users_tweets(bts.data.id)

for tweet in response.data:
    print(tweet)

 

 

 

< 특정 계정이 언급된 트윗 가져오기 >

get_users_mentions() 함수를 사용한다.

https://github.com/tweepy/tweepy/blob/master/examples/API_v2/get_users_mentions.py

bts = client.get_user(username='BTS_twt')

# By default, only the ID and text fields of each Tweet will be returned
# Additional fields can be retrieved using the tweet_fields parameter
response = client.get_users_mentions(bts.data.id)

for tweet in response.data:
    print(tweet)

 

 

 

< 검색어가 포함된 트윗 검색 >

search_recent_tweets() 함수를 사용한다.

https://github.com/tweepy/tweepy/blob/master/examples/API_v2/search_recent_tweets.py

# 검색어를 포함한 최근에 올라온 트윗

response = client.search_recent_tweets(
    "방탄", expansions=["attachments.media_keys", "author_id"]
)
tweets = response.data

# The IDs that represent the expanded objects are included directly in the
# returned data objects
for tweet in tweets:
    print(tweet)

트윗 내용 왕웃김ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

[출처]

https://developer.twitter.com/en/docs/twitter-api/tools-and-libraries/v2

https://github.com/tweepy/tweepy
https://docs.tweepy.org/en/latest/client.html#tweets

 

728x90
Comments