如何通过 Python 将 dict/json 保存到我的计算机上的文件
How to save dict/json to file on my computer via Python
我有这个 API 我正在尝试访问,但我似乎无法找到将所有这些数据下载到我的计算机的方法。我在网上试过的所有东西都不起作用,可能是因为数据类型仍然是字典?
谁能告诉我这是否是通过本网站汇总所有数据的正确方法,以及如何下载这些数据?谢谢
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)
我有这个 API 我正在尝试访问,但我似乎无法找到将所有这些数据下载到我的计算机的方法。我在网上试过的所有东西都不起作用,可能是因为数据类型仍然是字典?
谁能告诉我这是否是通过本网站汇总所有数据的正确方法,以及如何下载这些数据?谢谢
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)