반응형
Python에서 트위터 API를 사용하기 위해서는 Tweepy 모듈을 설치하여야 한다. 터미널창에서
$pip install tweepy
명령어를 통해 Tweepy 모듈을 설치한다.
위의 사진과 같이 모듈 설치가 완료되면 각자 사용하는 파이썬 편집기에서 import tweepy를 통해 정상적으로모듈을 사용할 수 있다.
이전 글에서는 사용자가 업로드한 트윗들을 출력하는 예제 프로그램이었지만 이번에는 실질적으로 데이터를 수집하기 위하여 원하는 단어가 있는 트윗들을 크롤링하는 코드를 짜보고자 한다. 우리 팀이 원하는 데이터인 구어체가 많이 포함 할 만한 단어로 "그냥", "근데", "했어"이 세가지 단어를 포함하는 트윗들을 크롤링 하고자 한다. (tweepy github를 참조 - https://github.com/tweepy/tweepy)
# -*- coding: utf-8 -*-
# 한글 주석을 사용하기 위함
import tweepy
consumer_key = 'consumer_key'
consumer_secret = 'consumer_secret'
access_token = 'access_token'
access_token_secret = 'access_token_secret'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
class MyStreamLstener(tweepy.StreamListener): #기존 tweepy의 streamListener의 오버라이딩
def on_status(self, status):
print (status.text)
def on_error(self, status_code):
if status_code == 420: #stream에 연결을 하지 못하는 에러가 발생하는 경우 False를 반환
return False
if __name__ == '__main__':
myStreamListener = MyStreamLstener()
myStream = tweepy.Stream(auth=api.auth, listener=myStreamListener)
myStream.filter(track=['hungry']) #트위터 stream 중에 []배열 안에 들어간 단어들이 있는 문장만을 필터링 해줌
위의 코드를 통해 원하는 keyword가 포함된 트윗들을 크롤링 할 수 있다. 아직 예제코드를 사용하여 크롤링을 하여 영어 키워드로만 크롤링을 하였다. 우리가 필요로 하는 데이터는 한글 데이터이므로 한글 keyword를 입력하니 예상대로 문제가 발생하였다. 인코딩으로 이 문제를 해결 할 수 있을 것 같으나 이 부분에 대해서 아직 해결을 하지 못하여서 더 찾아보고 공부가 필요하다. 그리고 한글을 사용하게 되면 지난 인턴기간 동안 있었던 인코딩 문제를 해결해야 할 것으로 예상이 된다.
반응형
'Dev > Python' 카테고리의 다른 글
[Python] PyMySQL (0) | 2017.08.16 |
---|---|
[Python] mysql connector (0) | 2017.07.13 |
[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 3 (2) | 2017.05.11 |
[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 1 (0) | 2017.05.09 |