如何通过Python将dict/json保存到我的计算机上的文件
我有这个API,我正试图访问,我似乎找不到一种方法下载所有这些数据到我的电脑。我在网上尝试的一切都不起作用,可能是因为数据类型仍然是dict 有人能告诉我这是不是一个正确的方式来聚合这个网站的所有数据,然后如何下载它?谢谢如何通过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
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政策,分发非故意破坏版本。因此,任何故意破坏行为都将恢复原状。请参阅:。如果允许删除,则在帖子下方左侧有一个“删除”按钮,但它仅在浏览器中,而不是移动应用程序中。