我使用Tweepy下载推文。我有一个程序,然后将实际的Status
对象写入文本形式的文件。如何将其转换为JSON,或将此对象导入Python?我尝试使用JSON库进行编码,但Status不是JSON可序列化的。
答案 0 :(得分:79)
tweepy的Status
对象本身不是JSON可序列化的,但它具有_json
属性,其中包含JSON可序列化的响应数据。例如:
>>> status_list = api.user_timeline(user_handler)
>>> status = status_list[0]
>>> json_str = json.dumps(status._json)
答案 1 :(得分:4)
更好的方法是使用tweepy解析器。它没有很好地记录 - 请参阅Tweepy API reference - 但它是一个公共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对象。
答案 2 :(得分:0)
users = api.search_users('TimHortons', 1)
print(json.dumps(users[0]._json))
如果对象有_json,请使用json.dumps(users[0]._json)
。用户只是一个例子。