如何迭代/解析Tweepy get_user对象

时间:2012-02-29 16:28:47

标签: python tweepy

在使用Tweepy时,我注意到对get_user的调用返回的'status'变量是<tweepy.models.Status object at 0x02AAE050>

当然,我可以调用get_user.USER.status,但是如何从get_user调用中获取该信息?即我想循环用户。 getstate ()如果我找到一个需要进一步迭代的对象,那么也要循环使用

我已经搜索了高/低的答案,但我对Python的新见解导致了问题,如果我知道要问的正确问题,我很确定这很容易解决。

感谢此处的任何指针...

# -*- coding: utf-8 -*-

import sys

import tweepy
import json

from pprint import pprint


api = tweepy.API()



def main():
    print "Starting."

    user = api.get_user('USER',include_entities=1)

    print "================ type ================="
    print type(user)

    print "================ dir ================="
    print dir(user)

    print "================ user ================="
    #
    # We can see 'status': <tweepy.models.Status object at 0x02AAE050>, .......but how do I "explode" that automagically?
    #
    pprint ((user).__getstate__())



    print "================ user.status ================="
    pprint ((user).status.__getstate__())

    print "================= end ================="





if __name__ == "__main__":
  main()

使用以下代码,我可以使用jsonpickle获得预期的行为。

import jsonpickle
.
.
.
user = api.get_user('USERNAME',include_entities=1)
    pickled = jsonpickle.encode(user)
    print(json.dumps(json.loads(pickled), indent=4, sort_keys=True))   #you could just  print pickled, but this makes it pretty

我仍然非常有兴趣了解我在理解如何检测和扩展该状态对象时所缺少的内容。

1 个答案:

答案 0 :(得分:6)

试试这个:

api = tweepy.API(auth,parser = tweepy.parsers.JSONParser())

user = api.get_user('USER',include_entities = 1)

现在您可以轻松地用户['status']和其他人