Knowledge Map
파이썬 - 트위터 연계 1 본문
출처
https://marcobonzanini.com/2015/03/02/mining-twitter-data-with-python-part-1/
http://digndig.net/blog/2013/02/04/python-twitter-api-%E2%80%93-tweepy-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0/
http://imp17.com/tc/myevan/archive/201103
http://sens.tistory.com/447
파이썬으로 트위터 API를 이용해서 타임라인 CRUD 를 할수 있고 읽기 까지 가능하게 만들수 있다. 물론 제약이 있지만..
1. pip 에서tweepy를 받는다.
pip install tweepy
2. 트위터 계정을 만든다. 이미 있다면 그걸로 써도 된다.
3. 토큰 값을 받는다.
3-1. 우측 하단 '개발자' 클릭
3-2. 하단의 Manage Your Apps 클릭
3-3. 그다음에 나오는 창에서 'create app'을 클릭해 주면 다음의 창이 나온다.
3-4. 생성하면 다음의 화면이 나오는데 탭중에 'Permissions' 를 클릭하면 readonly로 할지 아니면 다르게 할지 설정 가능하다.
3-5. Keys and Access Tokens를 클릭하면 필요한 토큰과 기타 값들을 확인할수 있다.
4. 아래의 코드를 적절하게 입력해 보고 테스트 해보면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | # -*-coding: utf-8 -*- # 보다시피 python2이다. import tweepy import time # 토큰 관련된 값들 CONSUMER_KEY = '' CONSUMER_SECRET = '' ACCESS_KEY = '' ACCESS_SECRET = '' # auth 객체 생성 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) # 토큰값 입력 auth.set_access_token(ACCESS_KEY,ACCESS_SECRET) api = tweepy.API(auth) """ 트위터에 글작성 한글입력 가능, 다만 update_status에 ,로 구분할경우 첫 콤마 전 내용만 올라감 update_status로 글을 쓸 경우에 중복된 내용은 허용하지 않는다. 오류 187 가 발생함. 기본적으로 이 api들을 사용할때 15분 간격으로 허용 요청 갯수가 정해져 있다;; 왠만하면 timesleep을 걸어주자. """ for i in range(1,10): api.update_status('테스트합니다. {}번째'.format(i)) time.sleep(2) """ 본인 타임라인 읽어오기 API Rate Limits가 존재한다. 오류번호 429 Twitter error response: status code = 429 ==> 너무 단 시간에 많은 요청을 보내서 에러남. https://dev.twitter.com/overview/api/response-codes 참조. """ for status in tweepy.Cursor(api.home_timeline).items(): print status.text time.sleep(0.3) for status in tweepy.Cursor(api.home_timeline).items(): print status._json # _json을 이용하면 json형태로 데이터를 받을수 있다. 이때의 json은 dict 형식이다. | cs |
'PYTHON' 카테고리의 다른 글
쓰레드, 멀티 프로세싱 (0) | 2016.05.26 |
---|---|
DataStructure in Python[Insert Sort] (0) | 2016.05.15 |
파이썬 으로 doc 파일 읽기 (0) | 2016.05.11 |
numpy - 1 (0) | 2016.05.10 |
IPython 으로 간단한 실습 (0) | 2016.05.09 |
Comments