Я новичок в питоне. Я пытаюсь прочитать некоторые данные из API, но есть проблема во втором URL, я не знаю, как анализировать API, когда у меня есть больше данных. Первый URL имеет только одно "NAME", второй имеет больше NAMES .... Как я могу напечатать все имена из второго URL ... Thankyou ...
import os from urllib import urlopen import json url = urlopen('https://www.coincalculators.io/api.aspx?name=ethereum&hashrate=420000000&power=0&poolfee=1&powercost=0&difficultytime=0').read() data= json.loads(url) name = data["name"] # OK print name rewardsInMonth = data["rewardsInMonth"] # OK print rewardsInMonth #url with more names url2 = urlopen('https://www.coincalculators.io/api/allcoins.aspx?hashrate=420000000&power=0&powercost=0&difficultytime=0&algorithm=Ethash').read() data2= json.loads(url2) name2 = data2["name"] # OK print name2
Я вижу квадратную скобку во втором URL, и вот проблема для меня.
Различные конечные точки этого API возвращают разные структуры данных. Первый вызов возвращает только один диктовку, второй (к конечной точке allcoins.aspx), что неудивительно, список диктов.
allcoins.aspx
Очень вежливо подталкивая вас в направлении Python 3 и модуля requests, второй URL возвращает список, поэтому вы можете использовать цикл for для перебора монет:
requests
for
import requests coin = requests.get("https://www.coincalculators.io/api.aspx?name=ethereum&hashrate=420000000&power=0&poolfee=1&powercost=0&difficultytime=0").json() print(coin["name"]) for coin in requests.get("https://www.coincalculators.io/api/allcoins.aspx?hashrate=420000000&power=0&powercost=0&difficultytime=0&algorithm=Ethash").json(): print(coin["name"])