Cara menggunakan data API JSON di Python
- 3191
- 1019
- Dwayne Hackett
Objektif
Konsumsi API JSON di Python.
Distribusi
Ini akan bekerja pada distribusi Linux apa pun.
Persyaratan
Instalasi linux yang berfungsi dengan python.
Kesulitan
Mudah
Konvensi
- # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan
sudo
memerintah - $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa
Perkenalan
Salah satu alasan utama Anda ingin bekerja dengan JSON di Python adalah mengonsumsi API. Ada ratusan API publik yang sangat baik di luar sana dan siap digunakan dalam aplikasi Anda. Bahkan pemain besar di web, seperti Facebook dan Twitter, keluar API untuk Anda kerjakan.
Anda dapat membangun seluruh aplikasi di sekitar data API, termasuk membangun aplikasi web yang menggabungkan, memanipulasi, dan menampilkan data itu dengan cara yang nyaman.
Siapkan file
Sebelum Anda mulai bekerja dengan API, Anda perlu mengatur file python. Itu jauh lebih mudah daripada bekerja di penerjemah. Mulailah dengan mengimpor modul JSON.
Impor JSON
Kamu akan membutuhkan Urllib3
. Ini memungkinkan Anda mengakses URL dengan Python.
Impor urllib3
Buka URL
Meskipun ada banyak API hebat di internet, kebanyakan dari mereka mengharuskan Anda untuk mendaftar untuk mendapatkan kunci API. Panduan ini bukan tentang itu atau menggunakan API tertentu. API OpenDota menyediakan akses ke satu ton data yang berkaitan dengan MOBA DOTA2 yang populer tanpa perlu mendaftar atau mendapatkan kunci. Jika Anda tidak tahu, itu tersedia untuk Linux. Itulah API yang akan digunakan panduan ini.
Anda dapat menemukan dokumentasi untuk seluruh API di https: // docs.OpenDota.com
, tetapi panduan ini akan menggunakan https: // API.OpenDota.com/API/pahlawan
Data Pahlawan.
Mulailah dengan membuat a PoolManager ()
menggunakan objek Urllib3
. Objek itulah yang dapat Anda gunakan untuk membuat permintaan ke situs web.
http = urllib3.PoolManager ()
Membuat MENDAPATKAN
permintaan menggunakan http
objek yang baru saja Anda buat ke DOTA API.
Pahlawan = http.Permintaan ('dapatkan', 'https: // API.OpenDota.com/API/Heroes ')
Parse json
Coba cetak Pahlawan
variabel yang baru saja Anda buat.
Cetak (pahlawan)
Bukan apa yang Anda harapkan? Ini masih merupakan objek permintaan, dan memiliki lebih banyak data daripada yang Anda butuhkan. Coba cetak Pahlawan.data
Cetak (pahlawan.data)
Yang terlihat lebih dekat, tapi masih belum cukup di sana. Mendekode data ke UTF-8.
Cetak (pahlawan.data.decode ('UTF-8'))
Sekarang, itu Json. Anda dapat menguraikannya dengan modul JSON.
Heroes_dict = json.banyak (pahlawan.data.decode ('UTF-8')) cetak (Heroes_dict)
Bekerja dengan data
Anda memiliki kamus Python yang berisi semua data dari API. Anda sekarang dapat menggunakan data itu. Cobalah mengulanginya.
untuk pahlawan dalam pahlawan: cetak (pahlawan ['localized_name'])
Loop Anda akan mencetak nama setiap pahlawan di DOTA2. Anda dapat melihat dari kamus bahwa ada lebih banyak data Ton, tetapi Anda tahu cara mengaksesnya.
Menutup pikiran
Jalan tidak ada yang langsung, tapi pasti sampai di sana. Jika Anda melakukan ini dengan kunci API, itu hanya akan mengubah struktur URL. Segala sesuatu yang lain harus tetap sama di seluruh. Anda sekarang diperlengkapi untuk mengakses data API dari program Python Anda.
Latihan
Pilih dan API dari https: // github.com/toddmotto/public-apis
, dan mengubahnya menjadi kamus Python. Izin di atasnya, dan cetak nilai -nilai setidaknya dua kunci.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Pemutar Musik Terbaik untuk Linux
- Unduh Linux
- Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
- Distro linux terbaik untuk pengembang
- Cara mengaktifkan HugePages di Linux
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Perintah Linux Dasar
- Cara mencetak pohon direktori menggunakan linux
- « Cara mengatur kata sandi Anda menggunakan lulus kata sandi manajer
- Cara Mengganti Systemd dengan Sysv Init di Debian Linux »