How can I save the result from searchtweets into json files using python?
我最近正致力于推特分析,并希望将本地Twitter搜索的结果保存到.json文件中。
我正在使用"searchtweets"进行历史搜索,使用"tweepy"进行流式传输。 我得到的结果是略有不同的对象,但我认为这两个结果都与.json兼容。
这是我的代码(示例,我已经登录到API):
1 2 3 4 5 | 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对象的Resultset。 我的目标是使用python将这些对象保存到.json文件中。
如果你能给我一些建议,真的很感激。
您可以使用python中的json标准库。
读取字符串为json:
1 2 3 | >>> import json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar": ["baz", null, 1.0, 2]}]' |
将json转换为字符串:
1 2 3 | >>> import json >>print(json.dumps({"c": 0,"b": 0,"a": 0}, sort_keys=True)) {"a": 0,"b": 0,"c": 0} |
使用此功能,您可以保存在磁盘上:
1 2 3 4 5 6 7 8 9 | 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:
1 2 3 4 5 | >>> 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