0

で見つかったu'text':&から文字列を作成しようとしています。これにより、新しいIDを最後に読み取ったIDと比較して、新しい場合はテキストを表示できます。現在、必要な情報だけを解析(?)することはできません。u'id':u'results':

import json
import urllib
from pprint import pprint
j =json.loads(urllib.urlopen('http://search.twitter.com/search.json?q=%23tory&result_type=recent&rpp=1').read())
pprint(j)

これは私に与えます

{u'completed_in': 0.007,
 u'max_id': 312184292639920129L,
 u'max_id_str': u'312184292639920129',
 u'next_page': u'?page=2&max_id=312184292639920129&q=%23tory&rpp=1&result_type=recent',
 u'page': 1,
 u'query': u'%23tory',
 u'refresh_url': u'?since_id=312184292639920129&q=%23tory&result_type=recent',
 u'results': [{u'created_at': u'Thu, 14 Mar 2013 12:51:50 +0000',
               u'from_user': u'DerbysLabour',
               u'from_user_id': 393219652,
               u'from_user_id_str': u'393219652',
               u'from_user_name': u'Derbyshire Labour',
               u'geo': None,
               u'id': 312184292639920129L,
               u'id_str': u'312184292639920129',
               u'iso_language_code': u'en',
               u'metadata': {u'result_type': u'recent'},
               u'profile_image_url': u'http://a0.twimg.com/profile_images/1594091282/Labour_group_normal.jpg',
               u'profile_image_url_https': u'https://si0.twimg.com/profile_images/1594091282/Labour_group_normal.jpg',
               u'source': u'<a href="http://twitter.com/">web</a>',
               u'text': u'RT @WubeyOneKenobi: Not seen a single #Tory campaigning for #DCC elections round #Glossop yet.  Scared to come out?'}],
 u'results_per_page': 1,
 u'since_id': 0,
 u'since_id_str': u'0'}

見返りに(ツイートによって異なります)

結果のみからテキストとIDを読み取るにはどうすればよいですか?

4

1 に答える 1

2

j変数は、dictであり、をresults含む配列ですdict。次のように値を抽出できます。

text = j['results'][0]['text']
id = j['results'][0]['id']

より多くの結果がある場合は、次のようにすることができます。

texts = {}
results = j['results']

for result in results:
    text = result['text']
    id = results['id']
    texts[id] = text

その結果、idがキーであるというシングルdictが呼び出されます。texts

于 2013-03-14T13:32:08.333 に答える