Bruke Google Search API med Python

Bruke Google Search API med Python
Det er ingen nyheter at Google er den største søkemotoren i verden. Mange mennesker vil gå den ekstra milen for å ha innholdet sitt høyt på Google før noen annen søkemotor. Som et resultat av dette har Google mange kvalitetsresultater for hvert søk, og med gode rangeringsalgoritmer kan du forvente å få det beste av søkeresultatene på Google.

Dette har en implikasjon. Implikasjonen er at det eksisterer mange nyttige data på Google, og som krever behov for å skrape disse gyldne dataene. De skrapede dataene kan brukes til kvalitetsdataanalyse og oppdagelse av fantastiske innsikter. Det kan også være viktig for å få god forskningsinformasjon i ett forsøk.

Snakker om skraping, dette kan gjøres med tredjepartsverktøy. Det kan også gjøres med et Python -bibliotek kjent som Scrapy. Scrapy er vurdert til å være et av de beste skrapingsverktøyene, og kan brukes til å skrape nesten hvilken som helst webside. Du kan finne ut mer på Scrapy Library.

Uansett styrkene til dette fantastiske biblioteket. Skraping av data på Google kan være en vanskelig oppgave. Google kommer hardt ned på eventuelle skrapforsøk på nettet, og sikrer at skraping av skript ikke engang kommer med så mange 10 skrapeforespørsler på en time før IP -adressen har utestengt. Dette gjør tredjepart og personlige skraping av nettet ubrukelig.

Google gir muligheten til å skrape informasjon. Uansett hva skraping som vil bli gjort, må imidlertid være gjennom et applikasjonsprogrammeringsgrensesnitt (API).

Bare hvis du ikke allerede vet hva et programmeringsgrensesnitt for applikasjoner er, det er ingenting å bekymre deg for, da jeg vil gi en kort forklaring. Per definisjon er en API et sett med funksjoner og prosedyrer som tillater å opprette applikasjoner som får tilgang til funksjonene eller dataene til et operativsystem, applikasjon eller annen tjeneste. I utgangspunktet lar en API deg få tilgang til sluttresultatet av prosesser uten å måtte være involvert i disse prosessene. For eksempel vil en temperatur -API gi deg Celsius/Fahrenheit -verdiene på et sted uten at du trenger å dra dit med et termometer for å gjøre målingene selv.

Når vi bringer dette inn i omfanget av å skrape informasjon fra Google, gir API vi bruker oss tilgang til den nødvendige informasjonen uten å måtte skrive noe skript for å skrape resultatsiden til et Google -søk. Gjennom API kan vi ganske enkelt ha tilgang til sluttresultatet (etter at Google gjør "skraping" på slutten) uten å skrive noen kode for å skrape websider.

Mens Google har mange API -er til forskjellige formål, vil vi bruke Custom Search JSON API for formålet med denne artikkelen. Mer informasjon om denne API -en finner du her.

Denne APIen lar oss lage 100 søkespørsmål per dag gratis, med prisplaner tilgjengelig for å lage flere spørsmål om nødvendig.

Opprette en tilpasset søkemotor

For å kunne bruke Custom Search JSON API, trenger vi en tilpasset søkemotor -ID. Vi må imidlertid lage en tilpasset søkemotor først som kan gjøres her.

Når du besøker den tilpassede søkemotorsiden, klikker du på "Legg til" -knappen for å opprette en ny søkemotor.

I boksen "Nettsteder for å søke", legg bare inn "www.Linuxhint.com ”og i boksen“ Navn på søkemotoren ”, legg inn ethvert beskrivende navn du ønsker (Google vil være å foretrekke).

Klikk nå på "Opprett" for å opprette den tilpassede søkemotoren og klikk på "Kontrollpanel" -knappen fra siden for å bekrefte suksessen med opprettelsen.

Du vil se en "søkemotor -ID" -del og en ID under den, det er IDen vi trenger for API -en, og vi vil henvise til den senere i denne opplæringen. Søkemotor -IDen skal holdes privat.

Husk at vi legger inn “www før vi drar.Linuhint.com ”tidligere. Med den innstillingen ville vi bare få resultater fra nettstedet alene. Hvis du ønsker å få de normale resultatene fra Total Web Search, klikker du på "Oppsett" fra menyen til venstre og klikker deretter på "grunnleggende" -fanen. Gå til delen "Søk i hele nettet" og veksle denne funksjonen på.

Opprette en API -nøkkel

Etter å ha opprettet en tilpasset søkemotor og fått sin ID, ville neste være å lage en API -nøkkel. API -tasten gir tilgang til API -tjenesten, og den bør holdes trygt etter opprettelse akkurat som søkemotor -ID.

For å opprette en API -nøkkel, besøk nettstedet og klikk på "Få en nøkkel" -knapp.

Lag et nytt prosjekt, og gi det et beskrivende navn. Når du klikker på "Neste", vil du ha API -tasten generert.

På neste side vil vi ha forskjellige installasjonsalternativer som ikke er nødvendige for denne opplæringen, så du bare klikker på "Lagre" -knappen og vi er klare til å gå.

Få tilgang til API

Vi har gjort det bra å få den tilpassede søke -ID og API -tasten. Neste skal vi benytte oss av API.

Selv om du får tilgang til API med andre programmeringsspråk, skal vi gjøre det med Python.

For å kunne få tilgang til API med Python, må du installere Google API -klienten for Python. Dette kan installeres ved hjelp av PIP -installasjonspakken med kommandoen nedenfor:

Pip installer Google-API-Python-klient

Etter å ha installert vellykket, kan du nå importere biblioteket i koden vår.

Det meste av det som vil bli gjort, ville være gjennom funksjonen nedenfor:

Fra Googleapiclient.Discovery Import Build
my_api_key = "din api -nøkkel"
my_cse_id = "Din CSE ID"
def google_search (search_term, api_key, cse_id, ** kwargs):
Service = Build ("Customsearch", "V1", DeveloperKey = API_Key)
res = service.CSE ().Liste (q = search_term, cx = cse_id, ** kwargs).henrette()
Return Res

I funksjonen over, my_api_key og my_cse_id Variabler bør erstattes av henholdsvis API -tasten og søkemotor -IDen som strengverdier.

Alt som må gjøres nå er å ringe funksjonen som går i søkeordet, API -nøkkelen og CSE -ID.

Resultat = Google_Search ("Kaffe", my_api_key, my_cse_id)
trykk (resultat)

Funksjonsanropet ovenfor ville søke etter nøkkelordet "kaffe" og tilordne den returnerte verdien til resultat variabel, som deretter skrives ut. Et JSON -objekt returneres av Custom Search API, derfor vil ytterligere analysering av det resulterende objektet kreve litt kunnskap om JSON.

Dette kan sees fra et utvalg av resultatet som vist nedenfor:

JSON -objektet som returneres ovenfor er veldig likt resultatet fra Google -søket:

Sammendrag

Skraping av Google for informasjon er egentlig ikke verdt stresset. Det tilpassede søk -API gjør livet enkelt for alle, ettersom den eneste vanskeligheten er å analysere JSON -objektet for den nødvendige informasjonen. Husk alltid å beholde din tilpassede søkemotor -ID og API -nøkkelverdier private.