Just Fighting
트위터 API 사용하기 본문
먼저 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
시작하기 앞서 먼저 인증을 해야한다.
나는 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
'Python' 카테고리의 다른 글
[EDA] 데이터 구조 살펴보기 (0) | 2022.07.17 |
---|---|
[Flask] API 서버 구축하기 & httpie 사용하기 (0) | 2022.07.01 |
[Python] map() 사용하기 (0) | 2022.05.24 |
세 개 이상의 데이터 프레임 합치기(reduce) (0) | 2022.05.04 |
결측값 처리하기 2 (평균, 중앙값) (0) | 2022.03.23 |