How to download text as a .json file in python using the requests library
本问题已经有最佳答案,请猛点这里访问。
我试图使用一个API(尤其是公司本身),并设法使其工作到可以使用命令行向API网站发出请求并返回数据的程度,我使用以下代码执行此操作:
1 2 3 | r = requests.get('https://api.companieshouse.gov.uk/company/**COMPANY NUMBER**/filing-history', auth=('**AUTH CODE**', '')) r.json() |
只要它在命令行界面中吐出相关信息,就可以工作,但是我真正想做的是将数据保存到我的计算机上,最好是以.json格式。我在网上找到的大多数解决方案都是使用"请求"模块从Internet下载直接图像或网页,但在将文本转换为文件然后下载时却无能为力。
希望这里的人能给我指明正确的方向,帮助我,或者更糟的是,告诉我这根本不可能。如果需要澄清,请通知我!
谢谢!!
您可以这样从JSON中创建一个字符串:
1 2 | import json json_str = json.dumps(r.json()) |
然后使用标准方法将其保存为常规文本文件。
1 2 | with open(filename, 'w') as f: f.write(json_str) |
编辑:正如@tomalak在评论中指出的那样,这个代码可以进行双重转换,这在这里显然是不需要的。所以你可以
1 2 | with open(filename, 'w') as f: f.write(r.text) |