Pitone

Utilizzo dell'API di ricerca di Google con Python

Utilizzo dell'API di ricerca di Google con Python
Non è una novità che Google sia il motore di ricerca più grande al mondo. Molte persone faranno di tutto per posizionare i propri contenuti su Google prima di qualsiasi altro motore di ricerca. Di conseguenza, Google ha molti risultati di qualità per ogni ricerca e con ottimi algoritmi di ranking puoi aspettarti di ottenere il meglio dai risultati di ricerca su Google.

Questo ha un'implicazione. La sua implicazione è che esistono molti dati utili su Google e ciò richiede la necessità di raschiare questi dati d'oro. I dati raschiati possono essere utilizzati per l'analisi dei dati di qualità e la scoperta di intuizioni meravigliose. Può anche essere importante per ottenere ottime informazioni di ricerca in un solo tentativo.

Parlando di scraping, questo può essere fatto con strumenti di terze parti. Può anche essere fatto con una libreria Python nota come Scrapy. Scrapy è considerato uno dei migliori strumenti di scraping e può essere utilizzato per raschiare quasi tutte le pagine web. Puoi saperne di più sulla libreria Scrapy.

Tuttavia, a prescindere dai punti di forza di questa meravigliosa libreria. Raschiare i dati su Google potrebbe essere un compito difficile. Google si oppone a qualsiasi tentativo di scraping web, garantendo che gli script di scraping non effettuino nemmeno 10 richieste di scraping in un'ora prima che l'indirizzo IP venga bannato.  Ciò rende inutili gli script di scraping web di terze parti e personali.

Google dà l'opportunità di raschiare le informazioni. Tuttavia, qualsiasi operazione di scraping eseguita deve avvenire tramite un'interfaccia di programmazione dell'applicazione (API).

Nel caso in cui non sappiate già cos'è un'interfaccia di programmazione dell'applicazione, non c'è nulla di cui preoccuparsi poiché fornirò una breve spiegazione. Per definizione, un'API è un insieme di funzioni e procedure che consentono la creazione di applicazioni che accedono alle funzionalità o ai dati di un sistema operativo, un'applicazione o un altro servizio. Fondamentalmente, un'API ti consente di accedere al risultato finale dei processi senza dover essere coinvolto in tali processi. Ad esempio, un'API di temperatura ti fornirebbe i valori Celsius/Fahrenheit di un luogo senza che tu debba andare lì con un termometro per effettuare le misurazioni da solo.

Portando questo nell'ambito dello scraping delle informazioni da Google, l'API che utilizzeremmo ci consente di accedere alle informazioni necessarie senza dover scrivere alcuno script per raschiare la pagina dei risultati di una ricerca su Google. Attraverso l'API, possiamo semplicemente accedere al risultato finale (dopo che Google esegue lo "scraping" alla fine) senza scrivere alcun codice per raschiare le pagine web.

Sebbene Google disponga di molte API per scopi diversi, utilizzeremo l'API JSON di ricerca personalizzata ai fini di questo articolo. Maggiori informazioni su questa API possono essere trovate qui.

Questa API ci consente di effettuare gratuitamente 100 query di ricerca al giorno, con piani tariffari disponibili per effettuare più query, se necessario.

Creazione di un motore di ricerca personalizzato

Per poter utilizzare l'API JSON di ricerca personalizzata, avremmo bisogno di un ID motore di ricerca personalizzato. Tuttavia, dovremmo prima creare un motore di ricerca personalizzato che può essere fatto qui.

Quando visiti la pagina del motore di ricerca personalizzato, fai clic sul pulsante "Aggiungi" per creare un nuovo motore di ricerca.

Nella casella "siti da cercare", inserisci semplicemente "www.linuxhint.com" e nella casella "Nome del motore di ricerca", inserisci un nome descrittivo a tua scelta (Google sarebbe preferibile).

Adesso clicca su “Crea” per creare il motore di ricerca personalizzato e clicca sul pulsante “pannello di controllo” dalla pagina per confermare il successo della creazione.

Vedresti una sezione "ID motore di ricerca" e un ID sotto di essa, ovvero l'ID di cui avremmo bisogno per l'API e faremo riferimento ad esso più avanti in questo tutorial. L'ID del motore di ricerca deve essere mantenuto privato.

Prima di partire, ricordati che mettiamo in “www.linuhint.com" prima. Con questa impostazione, otterremmo risultati solo dal sito site. Se desideri ottenere i normali risultati dalla ricerca web totale, fai clic su "Impostazioni" dal menu a sinistra e quindi fai clic sulla scheda "Base". Vai alla sezione "Cerca in tutto il Web" e attiva questa funzione.

Creazione di una chiave API

Dopo aver creato un motore di ricerca personalizzato e ottenuto il suo ID, il prossimo passo sarebbe creare una chiave API. La chiave API consente l'accesso al servizio API e deve essere conservata al sicuro dopo la creazione, proprio come l'ID motore di ricerca.

Per creare una chiave API, visita il sito e fai clic sul pulsante "Ottieni una chiave".

Crea un nuovo progetto e dagli un nome descrittivo. Facendo clic su "Avanti", avresti la chiave API generata.

Nella pagina successiva, avremmo diverse opzioni di configurazione che non sono necessarie per questo tutorial, quindi fai clic sul pulsante "salva" e siamo pronti per partire.

Accesso all'API

Abbiamo ottenuto buoni risultati nell'ottenere l'ID di ricerca personalizzata e la chiave API. Successivamente utilizzeremo l'API.

Sebbene tu possa accedere all'API con altri linguaggi di programmazione, lo faremo con Python.

Per poter accedere all'API con Python, devi installare il client API di Google per Python. Questo può essere installato utilizzando il pacchetto di installazione pip con il comando seguente:

pip install google-api-python-client

Dopo aver installato con successo, ora puoi importare la libreria nel nostro codice.

La maggior parte di ciò che verrà fatto, avverrebbe attraverso la funzione seguente:

da googleapclient.scoperta importazione build
my_api_key = "La tua chiave API"
my_cse_id = "Il tuo ID CSE"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = servizio.cse().list(q=search_term, cx=cse_id, **kwargs).eseguire()
ritorno res

Nella funzione sopra, il my_api_key e my_cse_id le variabili dovrebbero essere sostituite rispettivamente dalla chiave API e dall'ID motore di ricerca come valori stringa.

Tutto ciò che deve essere fatto ora è chiamare la funzione passando il termine di ricerca, la chiave api e l'id cse.

risultato = google_search("Caffè", my_api_key, my_cse_id)
stampa (risultato)

La chiamata alla funzione sopra cercherà la parola chiave "Caffè" e assegnerà il valore restituito al risultato variabile, che viene poi stampata. Un oggetto JSON viene restituito dall'API di ricerca personalizzata, quindi qualsiasi ulteriore analisi dell'oggetto risultante richiederebbe una piccola conoscenza di JSON.

Questo può essere visto da un campione del risultato come mostrato di seguito:

L'oggetto JSON restituito sopra è molto simile al risultato della ricerca su Google:

Sommario

Raschiare Google per le informazioni non vale davvero la pena. L'API di ricerca personalizzata semplifica la vita a tutti, poiché l'unica difficoltà consiste nell'analizzare l'oggetto JSON per le informazioni necessarie. Come promemoria, ricorda sempre di mantenere privati ​​i valori dell'ID motore di ricerca personalizzato e della chiave API.

Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...