Tweepy.streamingを用いたプログラムでツイートの取得をタイムラインで取得したい
プログラム内容
# -*- coding: utf-8 -*-
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
consumer_key = ""#引用符の中にconsumer_keyの情報を記述する
consumer_secret = ""#引用符の中にconsumer_secretの情報を記述する
access_token = ""#引用符の中にaccess_tokenの情報を記述する
access_token_secret = ""#引用符の中にaccess_token_secretの情報を記述する
class StdOutListener(StreamListener):
def on_data(self, data):
if data.startswith("{"):
print data
return True
def on_error(self, status):
print status
if __name__ == '__main__':
l = StdOutListener()
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, l)
stream.filter(track = [u"日本"])#検索する場合
if 'stream' in stream:
print stream['text'].encode('utf-8')
# stream.sample()#ツイートのランダムサンプリングを取得する場合
# stream.userstream()#タイムラインを取得する場合
実行結果
[root@localhost デスクトップ]# python intento.py
{"created_at":"Thu Sep 22 08:01:36 +0000 2016","id":778866827346714624,"id_str":"778866827346714624","text":"RT @RealOviedo: \u00a1Buenos d\u00edas, oviedistas! S\u00ed, hoy jugamos en casa (20h) #RealOviedoReus https:\/\/t.co\/qKRRBF2eot","source":"\u003ca href=\"http:\/\/twitter.com\/download\/android\" rel=\"nofollow\"\u003eTwitter for Android\u003c\/a\u003e","truncated":false,"in_reply_to_status_id":null,"in_reply_to_status_id_str":null,"in_reply_to_user_id":null,"in_reply_to_user_id_str":null,"in_reply_to_screen_name":null,"user":{"id":714885097,"id_str":"714885097","name":"Gorkitta","screen_name":"gorka_laporte","location":null,"url":null,"description":"Zu zara nagusia.\nREAL OVIEDO \u2764\u2764 ATHLETIC CLUB","protected":false,"verified":false,"followers_count":368,"friends_count":278,"listed_count":11,"favourites_count":2643,"statuses_count":15851,"created_at":"Tue Jul 24 20:30:59 +0000 2012","utc_offset":12600,"time_zone":"Tehran
上記のプログラムをtextで表示して欲しいのですがうまくいきません。
例えば@saksa 日本最高だ!
のようにtextで表示して欲しいです。
もしやり方がわかる方いれば、教えていただけるとありがたいです
よろしくお願いいたします。