Jak używać danych API JSON w Python
- 4058
- 628
- Natan Cholewa
Cel
Spożywaj API JSON w Pythonie.
Rozkłady
Będzie to działać na dowolnym dystrybucji Linux.
Wymagania
Działający instalacja Linux z Python.
Trudność
Łatwy
Konwencje
- # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą
sudo
Komenda - $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny
Wstęp
Jednym z głównych powodów, dla których chcesz współpracować z JSON w Python, jest konsumowanie interfejsów API. Istnieją setki doskonałych publicznych interfejsów API i gotowych do użycia w aplikacji. Nawet ogromni gracze w Internecie, jak Facebook i Twitter, wychodzą z interfejsów API, z którymi możesz pracować.
Możesz budować całe aplikacje wokół danych API, w tym budowanie aplikacji internetowych, które agregują, manipulowane i wyświetlanie tych danych w wygodny sposób.
Skonfiguruj plik
Zanim zaczniesz pracować z interfejsami API, musisz skonfigurować plik Python. Jest to o wiele łatwiejsze niż praca w tłumaczy. Zacznij od importu modułu JSON.
Importuj JSON
Będziesz potrzebował urllib3
. Pozwala uzyskać dostęp do adresu URL z Pythonem.
importować urllib3
Otwórz adres URL
Chociaż w Internecie jest mnóstwo wielkich interfejsów API, większość z nich wymaga rejestracji, aby uzyskać klucz API. Ten przewodnik nie jest o tym lub używa określonego interfejsu API. API Opendota zapewnia dostęp do mnóstwa danych dotyczących popularnego MOBA Dota2 bez konieczności rejestracji lub uzyskania klucza. Jeśli nie wiedziałeś, jest dostępny dla Linux. To jest interfejs API, którego użyje ten przewodnik.
Można znaleźć dokumentację dla całego interfejsu API w https: // dokumenty.Opendota.com
, Ale ten przewodnik będzie używać https: // API.Opendota.com/API/Heroes
Dane bohaterów.
Zacznij od utworzenia PoolManager ()
obiekt za pomocą urllib3
. To obiekt, którego możesz użyć do składania wniosków na stronę internetową.
http = urllib3.PoolManager ()
Zrobić DOSTAWAĆ
żądanie za pomocą http
obiekt, który właśnie utworzyłeś w API DOTA.
bohaterowie = http.żądanie („get”, „https: // api.Opendota.com/api/bohaterowie)
Paruj JSON
Spróbuj wydrukować bohaterowie
zmienna, którą właśnie utworzyłeś.
Drukuj (bohaterowie)
Nie to, czego się spodziewałeś? To wciąż obiekt żądania i ma więcej danych niż potrzebujesz. Spróbuj wydrukować bohaterowie.dane
Drukuj (bohaterowie.dane)
To wygląda bliżej, ale wciąż nie jest tam. Dekoduj dane do UTF-8.
Drukuj (bohaterowie.dane.dekoduj („UTF-8”))
Teraz, jest to JSON. Możesz to przeanalizować za pomocą modułu JSON.
Heroes_dict = Json.Ładuje (bohaterowie.dane.Decode („UTF-8”)) print (Heroes_dict)
Pracuj z danymi
Masz słownik Pythona zawierający wszystkie dane z interfejsu API. Możesz teraz użyć tych danych, jak wybierzesz. Spróbuj nad tym iterować.
For Hero in Heroes: Print (Heroes [„zlokalizowana nazwa_nazwa”])
Twoja pętla wydrukuje nazwę każdego bohatera w Dota2. Z słownika można zobaczyć, że jest ton więcej danych, ale wiesz, jak uzyskać do tego dostęp.
Zamykanie myśli
Droga nie była taka bezpośrednia, ale z pewnością tam dotarła. Jeśli robisz to z klawiszami API, to po prostu zmieni strukturę adresu URL. Wszystko inne powinno pozostać takie samo przez cały czas. Jesteś teraz przygotowany do dostępu do danych API z programów Python.
Ćwiczenia
Wybierz i API z https: // github.com/toddmotto/publiczny
, i przekształć go w słownik Pythona. Iternuj nad nim i wydrukuj wartości co najmniej dwóch kluczy.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Najlepszy odtwarzacz muzyki dla Linux
- Pobierz Linux
- Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
- Najlepszy Linux Distro dla programistów
- Jak włączyć ogromne strony w Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Podstawowe polecenia Linux
- Jak wydrukować drzewo katalogu za pomocą Linux
- « Jak uporządkować hasła za pomocą menedżera haseł Pass
- Jak wymienić SystemD na init init na Debian Linux »