如何使用python将searchtweets的结果保存到json文件中?

时间:2018-10-31 14:00:58

标签: python json twitter tweepy python-twitter

我最近正在进行Twitter分析,并希望将Twitter搜索的结果本地保存到.json文件中。

我同时使用“ searchtweets”进行历史搜索和使用“ tweepy”进行流式传输。我得到的结果是对象稍有不同,但是我认为两个结果都与.json兼容。

这是我的代码(示例,我已经登录了API):

new_tweets = API.user_timeline(screen_name='huliangw20', count=20, 
tweet_mode='extended')

with open('test_tweets_v2.json', 'w',encoding='utf-8') as outfile:
    outfile.write(new_tweets)

它不起作用。 通常,每个查询给我一个包含许多Tweet对象的结果集。我的目标是使用python将这些对象保存到.json文件中。

如果能给我一些建议,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用python中的json标准库。

将字符串读取为json:

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'

将json转换为字符串:

>>> import json
>>print(json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True))
{"a": 0, "b": 0, "c": 0}

使用此功能,您可以保存在磁盘上:

def writeToJSONFile(path, fileName, data):
    try:
        filePathNameWExt = path + fileName
        with open(filePathNameWExt, 'w') as fp:
            json.dump(data, fp)
    except Exception as e:
        if(not quiet):
            print "writeToJSONFile exception"
            print e

最后在“手上”生成一个json:

>>> jsonToSave = {}
>>> jsonToSave['id'] = id
>>> metaJson = {}
>>> metaJson['version'] = VERSION
>>> jsonToSave['metadata'] = metaJson

更多信息:https://docs.python.org/3/library/json.html 更多信息:https://docs.python.org/2/library/json.html