使用Python3.4从Twitter时间线解析推文:请求,Json和词典

时间:2014-05-14 00:16:32

标签: python json twitter dictionary

我的第一个问题:) 我正在学习使用api的python,所以我从twitter上提取时间线推文。 我已成功将数据拉入字典,但结果格式与我的第一个项目(不同的api)不同,所以我无法找出用于迭代推文的元素。

import requests
import json
from requests_oauthlib import OAuth1


url = 'https://api.twitter.com/1.1/statuses/user_timeline.json?_count=3&screen_name=dimbodoyle&count=2'
auth = OAuth1('auth supplied'))

requests.get(url, auth=auth, verify=False)
response = requests.get(url, auth=auth, verify=False)
data = response.json()


# This is where the problems start
output = ''
for n in data:
    print(n)
    output += ['data'][n]['text'] + '\n'

with open('testTwitter.txt', mode='w', encoding='utf-8') as f:
    f.write(output)

print('Done')

当我在python中运行时,我收到以下错误 Traceback(最近一次调用最后一次):   文件" C:\ Python34 \ twitter \连接到twitter请求和json.py",第17行,in     输出+ = ['数据'] [n] ['文字'] +' \ n' TypeError:list indices必须是整数,而不是dict。

任何想法?我得到它想要一个整数用于循环,我得到n在这个上下文似乎是整个字典但我不知道为什么,我不知道如何纠正它。

任何帮助非常感谢

1 个答案:

答案 0 :(得分:1)

n是包含状态而非索引的字典,因此您可以改为n["text"]

statuses = response.json()
print "\n".join([status["text"] for status in statuses])