간단한 파이프라인 프로젝트를 위해, 트위터 API 를 이용하여, 실시간 stream 데이터를 가져오기로 하였다.
kafka, spark 실습을 해보려고, 스트리밍 API가 제공되는 트위터를 사용해보기로 했는데,
생각보다 지하철 노선에 대한 트윗이 올라오지 않는 것이 문제.. 많이 받아오려면, 연예인으로 해야겠는데 ..
트위터 development 가서, API 신청하기
https://hleecaster.com/twitter-api-developer/
트위터 API 사용을 위한 준비 (개발자 신청 및 Consumer Key, Access Token 발급) - 아무튼 워라밸
트위터 API를 사용하기 위해서는 개발자 신청, 등록을 하고 Consumer Key, Access Token을 받아야 한다. 최근에 절차가 좀 까다로워졌던데 이 기회에 다시 신청하면서 절차를 정리해봤다.
hleecaster.com
Tweepy 설치
tweepy에 대한 공식 문서
https://docs.tweepy.org/en/stable/index.html
Tweepy Documentation — tweepy 4.12.1 documentation
© Copyright 2009-2022, Joshua Roesslein. Revision cc8dd493.
docs.tweepy.org
pip install tweepy
스트리밍 스크립트
import tweepy
import json
TWITTER_API = "Bear Token"
# tweepy.Stream 클래스를 상속받는 클래스
class TwitterStream(tweepy.StreamingClient):
def on_data(self, data):
"""
파싱 공간
"""
data = json.loads(data)
print(data)
def on_error(self, status_code):
print(status_code)
# 스트림 클라이언트 인스턴스 생성
client = TwitterStream(TWITTER_API)
# 스트림 규칙 추가
client.add_rules(tweepy.StreamRule(value = ["BTS"]))
# 스트림 시작
client.filter()
# client.filter(languages = ["ko"] , track = ["정국"]
# languages : 언어 제한
# track : 해시태그 제한
출력 결과
'잡다 해결' 카테고리의 다른 글
[ChatGPT🤖] Google이 아닌 AI에 개발을 질문해 (1) | 2022.12.27 |
---|---|
[Linux] tmux로 생산성 높이기 (0) | 2022.11.14 |
[Encoding] 같은 파일명 읽히지 않아요 ..🤯 (MacOS, Window 자모음 이슈) (0) | 2022.10.21 |
[🛎 SLACK] SLACK 채널에 메세지 보내기 (Webhooks by Python) (0) | 2022.07.20 |
[오류 해결] aiohttp.client_exceptions.ClientConnectorCertificateError: 해결 (0) | 2022.04.10 |