Twitter APIのstatuses/filterを使用して、リアルタイム取得を擬似的に行えます。
動作確認はPython 3.6で行いました。
# -*- coding: utf-8 -*- import sys import json import twitter TWITTER_SCREEN_NAME = "(screen_name)" def display_tweet(dict_tweet): try: print("--------") print("%s %s" % (dict_tweet["user"]["name"], dict_tweet["user"]["id_str"])) print("%s" % (dict_tweet["text"],)) if "entities" in dict_tweet: if "media" in dict_tweet["entities"]: for dict_media in dict_tweet["entities"]["media"]: print(dict_media) print() except KeyError: if "delete" not in dict_tweet: print(dict_tweet) sys.exit() def main(): with open("config.json", "r") as h_json_r: dict_json = json.load(h_json_r) o_twitter = twitter.Api(**dict_json) # フォローユーザーの取得 list_raw_friend = o_twitter.GetFriends(screen_name=TWITTER_SCREEN_NAME) dict_friend = {} for r in list_raw_friend: dict_friend[r.id_str] = r print("%s %s" % (r.name, r.id_str)) # ツイートの取得 iter_tweet = o_twitter.GetStreamFilter(follow=dict_friend.keys()) for r in iter_tweet: display_tweet(r) if __name__ == "__main__": main() # [EOF]
config.jsonにはTwitterの認証キーを設定します。
{ "consumer_key": "****", "consumer_secret": "****", "access_token_key": "****", "access_token_secret": "****" }