2012-02-29 87 views
2

与Tweepy玩弄我注意到,从到GET_USER一个调用返回的“状态”变量是<tweepy.models.Status object at 0x02AAE050>如何迭代/解析Tweepy GET_USER对象

当然,我可以叫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 

我仍然很想知道我在理解如何检测和扩展状态对象时缺少的东西。

+2

和问题是? – h4ck3rm1k3 2012-05-20 11:12:15

回答

6

尝试:

API = tweepy.API(AUTH,解析器= tweepy.parsers.JSONParser())

用户= api.get_user( '用户',include_entities = 1)

现在你可以用户用户['状态']和其他人很容易

+0

非常好,感谢“解析器= ...”的一部分! – 2014-06-08 19:02:04