Tweepy を使用してツイートをダウンロードしています。実際のStatus
オブジェクトをテキスト形式でファイルに書き込むプログラムがあります。これをJSONに変換したり、このオブジェクトをPythonにインポートしたりするにはどうすればよいですか? JSONライブラリを使用してエンコードしようとしましたが、StatusはJSONシリアル化できません。
Tweepy自体のStatus
オブジェクトはJSONシリアル化できませんが、_json
JSONシリアル化可能な応答データを含むプロパティ。例えば:
>>> status_list = api.user_timeline(user_handler)
>>> status = status_list[0]
>>> json_str = json.dumps(status._json)
これを行うためのより良い方法は、Tweepyパーサーを使用することです。あまり文書化されていません- Tweepy APIリファレンス を参照してください-しかし、それはパブリックAPIであり、_json
プロパティを使用するよりもはるかに安全です。
import tweepy
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth, parser=tweepy.parsers.JSONParser())
status = api.user_timeline(user=username, count=1)[0]
json.dumps(status)
status
はjsonオブジェクトになりました。
_users = api.search_users('TimHortons', 1)
print(json.dumps(users[0]._json))
_
オブジェクトに_jsonがある場合は、json.dumps(users[0]._json)
を使用します。ユーザーは単なる例です。