So speichern Sie dict / json in einer Datei auf meinem Computer über Python [Duplikat]

Sep 04 2020

Ich habe diese API, auf die ich zugreifen möchte, und ich kann anscheinend keine Möglichkeit finden, all diese Daten auf meinen Computer herunterzuladen. Alles, was ich online versucht habe, funktioniert nicht, wahrscheinlich weil die Art der Daten immer noch diktiert ist?

Kann mir bitte jemand mitteilen, ob dies der richtige Weg ist, um alle Daten dieser Website zu aggregieren und wie man sie dann herunterlädt? Vielen Dank

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)

Antworten

2 Detlef Sep 04 2020 at 05:30

Sie sind einer möglichen Lösung ziemlich nahe. Leider überschreiben Sie Ihr vorheriges Ergebnis bei jedem Update.

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)