Dev/Python

[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 1

kyeoneee 2017. 5. 9. 15:33
반응형

 졸프팀에서 필요로하는 데이터는 우리가 일상생활에서 사용하는 줄임말  등의 일반 사용자들이 사용할만한 말들이 들어있는 구어체 데이터이다. 그러나 세종말뭉치 등의 데이터에서는 우리가 원하는 데이터를 얻기가 힘들었다. 사용자가 일상생활에서 사용하는 구어체 데이터를 얻기 위해 우리는 SNS를 활용하기로 하였다. 겨울방학동안 인턴 경험에서 배운 웹 크롤링 기술을 통해 데이터를 확보하고자 하였다. 우리가 사용했던 Scrapy나 Beautiful Soup을 사용 할 수도 있지만 트위터 같은 경우는 API를 제공하여 주기 때문에 Python에서 사용할 수 있는 API인 Tweepy를 사용하고자 한다.


 먼저 트위터 API를 사용하기 위한 권한을 얻기 위해 https://dev.twitter.com/index 에서 API Key를 발급받는 과정을 설명하려 한다.


1. 트위터 개발자 홈페이지에 접속하여 하단의  Tools 메뉴의 Manage my apps를 클릭한다. (https://dev.twitter.com/index)



 2. Create New App 버튼을 눌러서 새로운 App을 생성한다. (API Key를 발급 받은 적이 없으면 아무것도 나타나지 않는다.)


3. Application을 만들기 위한 정보들을 입력한다.




4. API Key 발급 완료.


 위와 같은 창이 나오면 API Key가 제대로 발급된 것이다. Python에서 Tweepy모듈을 사용하기 위해서 필요한 Consumer key와 access token을 확인하기 위해서는 Keys and Access Tokens메뉴를 들어가서 확인할 수 있다.

Access token은 처음엔 확인을 할 수 없다.

위의 화면에서 Create my access token을 클릭하면 확인 할 수 있다.



발급받은 API Key를 통해서 사용자가 twitter에 작성한 글들을 출력하는 간단한 예제를 만들어 보았다.

import tweepy

consumer_key = 'consemer_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)

public_tweets = api.home_timeline()
for tweet in public_tweets:
print tweet.text

반응형