3

我也是 Python 和 JSON 的新手。我安装了 twython 来与 Twitter API “对话”。我在 Mac 上使用 Python 2.7。

我想通过 API 获得我的提及。该程序应识别提到我的 Twitter 用户。

我尝试:

t = Twython(...)
men = t.get_mentions_timeline()

用户被提及一次,print men 显示了很多这样的东西:

[{u'contributors': None, u'truncated': False, u'text': .... u'Sun May 26 09:18:55 +0000 2013', u'in_reply_to_status_id_str': None, u'place': None}]

在这些东西的某个地方,我看到了我想从响应中提取的所有东西。

我怎样才能提取screen_name

我对 or 很困惑json.dumps-json.loads我应该使用jsonorsimplejson吗?

4

1 回答 1

2

您不需要使用json(或simplejson,它是完全相同的库;它在与 Python 捆绑时已重命名);该Twython库已经为您解码了 JSON 中的所有内容。

您从 API 获得了一个列表,每个条目都是dict; 每个这样的字典都是一条推文。您可以查看Twitter API 文档中包含的内容。循环遍历该列表;有些项目本身就是字典或列表:

for mention in men:
    print mention['user']['screen_name']
    if mention['contributors']:
        print [con['screen_name'] for con in mention['contributors']]

要找出完整的结构,请使用pprint.pprint()打印结构化版本:

import pprint

pprint.pprint(men)

这将使您更容易弄清楚可以循环的内容等。

于 2013-05-26T17:15:42.690 回答