Как сохранить результаты, полученные с помощью TwitterPager, в файл JSON?

Я изучаю пример кода, который дал 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)

Вывод, который я получаю, фактически выдает всю строку JSON из Twitter, а не только текст, как было запрошено. Но последний фрагмент кода не может сохранить результат в файл JSON. Я думаю, что, возможно, это как-то связано с "циклом for", но я не могу обернуться вокруг этого. Любая помощь будет очень высоко ценится.

1 ответ

Решение

Это потому что item это весь объект твита, а не только текст. Попробуй это:

json.dump(item['text'], fp)
Другие вопросы по тегам