Как сохранить результаты, полученные с помощью 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)