如何将用 TwitterPager 得到的结果保存到 JSON 文件中?

How to save the results obtained with TwitterPager into a JSON file?

我正在探索 geduldig 为他的模块 TwitterPager 提供的代码示例。该代码运行良好,但由于某种原因并且在对可能的解决方案进行了许多不同的尝试之后,我无法将结果保存到 JSON 文件中。

这是我正在探索的代码示例,稍作修改:

from TwitterAPI import TwitterAPI
from TwitterAPI import TwitterPager
import json

consumer_key = 'xxx'
consumer_secret = 'xxx'
access_token = 'xxx'
access_secret = 'xxx'

api = TwitterAPI(consumer_key, consumer_secret, access_token,  access_secret)

r = TwitterPager(api, 'search/tweets', {'q':'pizza', 'count':100})
for item in r.get_iterator():
    if 'text' in item:       
        # print (item['text'])
        print (item)
    elif 'message' in item and item['code'] == 88:
        print ('SUSPEND, RATE LIMIT EXCEEDED: %s\n' % item['message'])
        break

然后我添加了以下代码:

with open('pizza.json', 'a') as fp:
    json.dump(item, fp)

我得到的输出实际上是来自 Twitter 的整个 JSON 字符串,而不只是请求的文本。但是最后一段代码无法将结果保存到 JSON 文件中。我认为它可能与 "for loop" 有关,但我无法理解它。非常感谢任何帮助。

这是因为 item 是整个 tweet object,而不仅仅是文本。试试这个:

json.dump(item['text'], fp)