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

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

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

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

r.json()

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

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

谢谢!!

最佳答案

您可以像这样从 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)

关于python - 如何使用 requests 库在 python 中将文本下载为 .json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39596826/

相关文章:

python - 如何更改 PyQt 或 PySide 中的最小化事件行为?

python - 强制字典键用作 str.format 的参数说明符

python - 使用 Python 脚本将 JSON 文件转换为新的 CSV 文件

javascript - 如何恢复 Angular 1 Ng 模型的变化

c++ - C++、Python 3.7.4、SWIG 4.0.0 和 Windows 10 的问题 - ModuleNotFoundError

c - ctypes.struct(打包)中的 sizeof 与 C 中的打包结构不匹配

python - Python 3 中的递归

python - 某个 skiprows 参数后的 pandas 内存错误

python - '导入错误: No module named pillow' in PyCharm

django - (Cocoa 错误 3840。)”(JSON 文本未以数组或对象开头,并且未设置允许片段的选项。)