Ottenere dati da un'API

Contenuti

Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati

introduzione

Ottenere dati completi e ad alte prestazioni non è sempre il caso del Machine Learning. Mentre si lavora su qualsiasi problema del mondo reale o si cerca di costruire qualsiasi tipo di progetto come Machine Learning Practioner, servono i dati.

Per soddisfare la necessità di dati per la maggior parte del tempo, è necessario ottenere dati dall'API e, se il sito web non fornisce l'API, l'unica opzione rimasta è Web Scraping.

In questo tutorial, impareremo come puoi usare l'API, estrarre i dati e salvare come frame di dati.

75037data20estrazione20funzione20img-8441230

Sommario

  • Ottenere dati da un'API
    1. Cos'è l'API
    2. Importanza dell'utilizzo dell'API
    3. Come ottenere un'API
    4. Codice pratico per estrarre i dati dall'API
  • Ottenere dati utilizzando database SQL
  • Nota finale

Ottenere dati da un'API

Cos'è l'API

API sta per Application Programming Interface. L'API funziona fondamentalmente come interfaccia tra due comunicazioni software. Adesso capiamo come?

Importanza dell'utilizzo dell'API

Considera un esempio, se dobbiamo prenotare un biglietto del treno, quindi abbiamo più opzioni come il sito Web IRCTC, Yatra, fare il mio viaggio, eccetera. Ora, queste sono tutte organizzazioni diverse, e supponiamo di avere un numero di posto riservato 15 dal carro B15, se qualcuno visita e cerca di prenotare lo stesso posto da un software diverso, Sarà riservato o no?? Verrà visualizzato come riservato.

Anche se sono aziende diverse, software diverso, sono in grado di condividere queste informazioni. Perciò, la condivisione delle informazioni avviene tra più siti web tramite API, ecco perché le API sono importanti.

Ogni organizzazione fornisce servizi su più sistemi operativi come ios, androide, che sono integrati con un unico Banca dati. Perciò, usano anche l'API per ottenere dati dal database a più applicazioni.

Ora capiamo praticamente come ottenere dati usando un frame di dati usando Python.

Come ottenere un'API?

Useremo il sito web ufficiale di TMDB, che fornisce diverse API per ottenere diversi tipi di dati. otterremo i dati dei film più votati nel nostro frame di dati. Per ottenere i dati, deve passare l'API.

Visitare il Sito TMDB e registrati e inizia sessione con il tuo account Google. Successivamente, nella sezione del tuo profilo, visita le impostazioni. In pannello Configurazione a sinistra, nell'ultima seconda opzione, puoi trovare un'opzione come API, basta fare clic su di esso e generare la tua API.

59207get20imdb20api20key-1244880

Usa la chiave API per ottenere i dati sui film più votati

Ora che hai la tua chiave API, visita il sito degli sviluppatori API TMDB che puoi vedere nella sezione API in alto. Fai clic su Film e il tour ottiene la valutazione più alta ora, nella migliore finestra di valutazione, visita l'opzione Prova ora, dove puoi vedere sul lato destro del pulsante di invio della richiesta, ha un link ai film più votati.

https://api.themoviedb.org/3/movie/top_rated?api_key=<<api_key>>&lingua=en-US&pagina=1

Copia il link e, invece della chiave API, incolla la chiave API che hai generato e apri il link, Sarai in grado di vedere dati simili a JSON.

Ora, per capire questi dati, ci sono diversi strumenti come il visualizzatore JSON. Se desideri, puoi aprirlo e incollare il codice nel visualizzatore. È un dizionario e le informazioni richieste sui film sono presenti nella chiave del risultato.

I dati totali sono presenti in 428 pagine e il numero totale di film è 8551. Perciò, dobbiamo creare un frame di dati che avrà 8551 righe e i campi che estrarremo sono id, titolo del film, data di rilascio, descrizione generale, popolarità, voto. media, conteggio dei voti. Perciò, il frame di dati che riceveremo avrà il modulo 8551 * 7.

Codice pratico per ottenere dati dall'API

Apri il tuo notebook Jupyter per scrivere il codice ed estrarre i dati nel frame di dati. Installa la libreria e le richieste dei panda se non usi il comando pip

pip installa panda
pip richieste di installazione

Ora definisci la tua chiave API nel link ed effettua una richiesta al sito Web TMDB per estrarre i dati e salvare la risposta in un variabile.

api_key = la tua chiave API
collegamento = "https://api.themoviedb.org/3/movie/top_rated?api_key=<<api_key>>&lingua=en-US&pagina=1"
risposta = request.get(collegamento)

Non dimenticare di menzionare la tua chiave API nel link. E dopo aver eseguito il codice sopra, si stampa la risposta, puoi vedere la risposta in 200, il che significa che tutto funziona bene e hai i dati sotto forma di JSON.

I dati che vogliamo sono nei risultati chiave, quindi prova a stampare la chiave del risultato.

risposta.json()["risultati"]

Per creare il frame di dati delle colonne richieste, possiamo usare il frame di dati dei panda e otterrà il frame di dati da 20 classifica che ha i migliori film sulla pagina 1.

data = pd.DataFrame(risposta.json()["risultati"])[['ID','titolo','panoramica','popolarità','data di rilascio','voto_media','vote_count']]

Vogliamo i dati del 428 pagine intere, quindi inseriremo il codice nel ciclo for e richiederemo ripetutamente il sito Web a pagine diverse e ogni volta otterremo 20 righe e sette colonne.

per io nel raggio d'azione(1, 429):
    risposta = request.get("https://api.themoviedb.org/3/movie/top_rated?api_key=<api_key>&lingua=en-US&pagina={}".formato(io))
    temp_df = pd.DataFrame(risposta.json()["risultati"])[['ID','titolo','panoramica','popolarità','data di rilascio','voto_media','vote_count']]
    data.append(temp_df, ignore_index=Falso)

Perciò, abbiamo ottenuto il frame di dati completo con 8551 righe. abbiamo formattato un numero di pagina per richiedere ogni volta una pagina diversa. E menziona la tua chiave API nel link rimuovendo il tag HTML. Ci vorrà almeno 2 minuti per correre. Il frame di dati che abbiamo è simile a questo.

74331top_movies_dataframe-2414428

Salva i dati in un file CSV in modo da poterlo utilizzare per l'analisi, elaborare e creare un progetto su di esso.

Ottieni dati da un database SQL

Lavorare con i database SQL è facile con Python. Python fornisce varie librerie per connettersi al database e leggere le query SQL ed estrarre i dati dalla tabella SQL a Pandas Dataframe.

A scopo dimostrativo, stiamo utilizzando un set di dati sulla popolazione di distretti e città del mondo caricato in Kaggle in formato query SQL. Puoi accedere al set di dati da qui.

Scarica il file e caricalo nel tuo database locale. Puoi usare MySQL, XAMPP, SQLite o qualsiasi database a tua scelta. TUTTI i database offrono l'opzione di importazione, basta fare clic su di esso, seleziona il file scaricato e caricalo.

Ora siamo pronti per connettere Python al database ed estrarre i dati SQL in Pandas Dataframe. Per stabilire una connessione, installa la libreria del connettore MySQL.

!pip install mysql.connector

Dopo l'installazione, importare le librerie richieste e dirigere la connessione al database utilizzando il metodo di connessione.

importa numpy come np
importa panda come pd
import mysql.connector
conn = mysql.connector.connect(ospite="localhost", utente="radice", password="", database="Mondo")

Dopo la connessione con il database con successo, possiamo interrogare un database ed estrarre i dati in un frame di dati.

city_data = pd.read_sql_query("SELEZIONARE * DA città", connessione)
18145città20data20df-3220110

Perciò, abbiamo estratto con successo i dati nel dataframe ed è facile lavorare con i database con l'aiuto di python. Puoi anche estrarre i dati filtrandoli con query SQL.

Nota finale

Spero che sia stato un articolo straordinario che ti aiuti a imparare come estrarre dati da diverse fonti. L'ottenimento di dati con l'aiuto dell'API viene utilizzato principalmente da Data Scientist per raccogliere dati dall'ampio e vasto set di dati per una migliore analisi e migliori prestazioni del modello..

Come principiante, la maggior parte delle volte ottieni il file di dati preciso, ma non è sempre così, è necessario portare i dati da diverse fonti che saranno rumorose e lavorarci sopra per prendere decisioni aziendali migliori.

Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.