Twitterからデータを取得する(1)
1.pip/oauthをインストール
# curl -kL https://bootstrap.pypa.io/get-pip.py | python # pip install requests requests_oauthlib
2. コードを書く
# mkdir twitter # cd twitter
設定ファイルを作成。
# vim settings.py CONSUMER_KEY = "***" CONSUMER_SECRET = "***" ACCESS_TOKEN = "***" ACCESS_TOKEN_SECRET = "***" ★上記のトークンやキーの作成は、以下のサイトを参考にした。 [https://syncer.jp/twitter-api-matome:title]
Tweetデータを取得するコード。
# vim timeline.py # -*- coding: utf-8 -*- import tweepy import settings auth = tweepy.OAuthHandler(settings.CONSUMER_KEY, settings.CONSUMER_SECRET) auth.set_access_token(settings.ACCESS_TOKEN, settings.ACCESS_TOKEN_SECRET) api = tweepy.API(auth) public_tweets = api.home_timeline() for tweet in public_tweets: print tweet.text.encode('utf-8')
これで20件のデータを取得できる。
3.Streaming APIを試してみる。
以下のサンプルコードを作成した。
# -*- coding: utf-8 -*- import tweepy import time import settings class StreamListener(tweepy.StreamListener): def __init__(self): super(StreamListener,self).__init__() def on_status(self, status): print '----------' print status.created_at print status.text.encode('utf-8') return True def on_error(self, status_code): print str(status_code) return False if __name__ == "__main__": auth = tweepy.OAuthHandler(settings.CONSUMER_KEY, settings.CONSUMER_SECRET) auth.set_access_token(settings.ACCESS_TOKEN, settings.ACCESS_TOKEN_SECRET) api = tweepy.API(auth) stream = tweepy.Stream(auth=api.auth, listener=StreamListener()) while True: try: stream.filter(languages=['ja'], track=[u'tokyo']) except: time.sleep(60) stream = tweepy.Stream(auth=api.auth, listener=StreamListener())
これでコンソールにだらだらとTweetが表示される。面白い!