python twython推特提取

python twython推特提取,python,dictionary,Python,Dictionary,我正在使用twython连接到twitterapi并检索查询。下面是我得到的一个例子: ---START---- {u'next_page': u'?page=2&max_id=215397707' .... : 215397707794219008L, u'page': 1} ----END---- 我感兴趣的是实际的tweet,它是这样开始的: u'text': u'@ilariargn devi fare un corso sul respiro! Sarebbero 768

我正在使用twython连接到twitterapi并检索查询。下面是我得到的一个例子:

---START----

{u'next_page': u'?page=2&max_id=215397707'
....
: 215397707794219008L, u'page': 1}

----END----
我感兴趣的是实际的tweet,它是这样开始的:

u'text': u'@ilariargn devi fare un corso sul respiro! Sarebbero 7686879 euro, ci vieni? #perderetempo', u'from_user_name':
所以在“u'text”:u'”和“u'from_user_name'”之间的所有内容。我试图先用key和value获取这些信息,因为它是一本字典。不起作用。然后我尝试将字典转换成一个列表,并使用字符串搜索来获取位置。也不行。我如何获得这些信息

我尝试了建议的解决方案并收到以下消息:

tweet = json.loads(results)[u'text']
File "C:\Python27\lib\json\__init__.py", line 326, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer
对于第二种解决方案,如果我写[t'text],我会得到一个语法错误:

tweet = results[u'text']
KeyError: u'text'

您得到的是一个json对象:

import json
tweet = json.loads(whatyouget)[u'text']
或者,如果已解析dic,则:

tweet = whatyouget[t'text']

嗯。经过一些试验,我找到了以下访问实际推文的解决方案:

counter = 1
for key, value in results.iteritems():
    if key == "results":
        svalue = str(value)
        while counter != -1:
            tweetposstart = svalue.find("u'text'",counter)
            tweetposend = svalue.find("u'from_user_name'",counter)
            if tweetposstart != -1:
                tweet = svalue[tweetposstart:tweetposend]
                print tweet
                counter = counter + tweetposstart
            else:
                counter = tweetposstart

您好,谢谢您的评论,但它不起作用。我将在我的问题中发布错误消息。