如何通过Python将dict/json保存到我的计算机上的文件

如何通过Python将dict/json保存到我的计算机上的文件,json,python-3.x,download,Json,Python 3.x,Download,我有这个API,我正试图访问,我似乎找不到一种方法下载所有这些数据到我的电脑。我在网上尝试的一切都不起作用,可能是因为数据类型仍然是dict 有人能告诉我这是不是一个正确的方式来聚合这个网站的所有数据,然后如何下载它?谢谢 import requests import string import json alphabet = list(string.ascii_lowercase) fulltable = '{}' fulltable = json.loads(fulltable) f

我有这个API,我正试图访问,我似乎找不到一种方法下载所有这些数据到我的电脑。我在网上尝试的一切都不起作用,可能是因为数据类型仍然是dict

有人能告诉我这是不是一个正确的方式来聚合这个网站的所有数据,然后如何下载它?谢谢

import requests
import string
import json

alphabet = list(string.ascii_lowercase)

fulltable = '{}'

fulltable = json.loads(fulltable)

for letter in alphabet:
    URL = 'https://www.thecocktaildb.com/api/json/v1/1/search.php?f=' + letter
    response = requests.get(URL)
    if response:
        print("Great success! for letter: " + letter)
    else:
        print("OI VEY! for letter: " + letter)

    json_data = response.json()

    print(json_data)
    fulltable.update(json_data)

你很接近一个可能的解决方案。不幸的是,每次更新时都会覆盖以前的结果

import requests
import string
import json

fulltable = {}
for letter in string.ascii_lowercase:
    url = 'https://www.thecocktaildb.com/api/json/v1/1/search.php?f=' + letter
    response = requests.get(url)
    json_data = response.json()
    for k,v in json_data.items():
        if not k in fulltable:
            fulltable[k] = []
        fulltable[k] += v or []

with open('data.json', 'w') as fp:
    json.dump(fulltable, fp, indent=4, sort_keys=True)

啊,好吧,我应该像频率表更新程序一样构建它,而不是仅仅附加/更新它。谢谢你,先生!请不要破坏你的帖子,为别人做更多的工作。通过在Stack Exchange(SE)网络上发布,您已经在a下授予SE分发内容的不可撤销权利(即,无论您未来的选择如何)。根据SE政策,分发非故意破坏版本。因此,任何故意破坏行为都将恢复原状。请参阅:。如果允许删除,则在帖子下方左侧有一个“删除”按钮,但它仅在浏览器中,而不是移动应用程序中。