如何使用请求库在python中将文本下载为.json文件

时间:2016-09-20 14:30:32

标签: python json python-3.x python-requests

我正在尝试使用API​​(特别是公司的一个),并设法让它工作到我可以使用命令行向API网站发出请求并返回数据,我这样做以下代码:

r = requests.get('https://api.companieshouse.gov.uk/company/**COMPANY NUMBER**/filing-history', auth=('**AUTH CODE**', ''))

r.json()

只要它在命令行界面中吐出相关信息,这是有效的,但我真正想要做的是将数据保存到我的计算机,最好是.json格式。我在网上找到的大多数解决方案都是使用请求模块从互联网上下载直接图像或网页,但在将文本转换为文件然后下载时无法提供帮助。

希望这里有人可以指出我正确的方向并帮助我,或者更糟糕的是,告诉我它甚至不可能。如果您需要任何澄清,请告诉我们!

谢谢!

1 个答案:

答案 0 :(得分:2)

你可以用你的JSON创建一个字符串:

import json
json_str = json.dumps(r.json())

然后使用标准方法将其保存为常规文本文件。

with open(filename, 'w') as f:
    f.write(json_str)
编辑:正如@Tomalak在评论中所指出的,这段代码进行了双重转换,这里显然不需要。所以你可以

with open(filename, 'w') as f:
    f.write(r.text)