Cara menggunakan data API JSON di Python

Cara menggunakan data API JSON di Python

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