Python

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å en ekstra mil for å få innholdet sitt rangere høyt på Google før andre søkemotorer. Som et resultat av dette har Google mange kvalitetsresultater for hvert søk, og med gode rangeringsalgoritmer kan du forvente å få det beste ut av søkeresultatene på Google.

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

Når vi snakker om skraping, kan dette gjøres med tredjepartsverktøy. Det kan også gjøres med et Python-bibliotek kjent som Scrapy. Scrapy er rangert som et av de beste skrapeverktøyene, og kan brukes til å skrape nesten hvilken som helst webside. Du kan finne ut mer på Scrapy-biblioteket.

Imidlertid uansett styrkene til dette fantastiske biblioteket. Skraping av data på Google kan være en vanskelig oppgave. Google kommer hardt ned på nettskrapeforsøk, og sørger for at skrapeskripter ikke en gang gjør så mange 10 skrapeforespørsler i løpet av en time før IP-adressen er utestengt.  Dette gjør tredjeparts og personlige webskrapeskripter ubrukelige.

Google gir muligheten til å skrape informasjon. Uansett hva som skrapes, må det imidlertid skje gjennom et API (Application Programming Interface).

Bare hvis du ikke allerede vet hva et applikasjonsprogrammeringsgrensesnitt er, er det ingenting å bekymre deg for, da jeg gir en kort forklaring. Per definisjon er et API et sett med funksjoner og prosedyrer som tillater oppretting av applikasjoner som får tilgang til funksjonene eller dataene til et operativsystem, applikasjon eller annen tjeneste. I utgangspunktet gir en API deg 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 til et sted uten at du trenger å gå dit med et termometer for å gjøre målingene selv.

Ved å bringe dette inn i omfanget av skraping av informasjon fra Google, gir API-en vi bruker, oss tilgang til nødvendig informasjon uten å måtte skrive noe skript for å skrape resultatsiden for et Google-søk. Gjennom API-et kan vi rett og slett ha tilgang til sluttresultatet (etter at Google gjør "skrapingen" på slutten) uten å skrive noen kode for å skrape websider.

Mens Google har mange APIer for forskjellige formål, skal vi bruke JSON API for tilpasset søk for formålet med denne artikkelen. Mer informasjon om dette API-et finner du her.

Denne API-en gir oss muligheten til å lage 100 søk per dag gratis, med prisplaner tilgjengelig for flere spørsmål om nødvendig.

Opprette en tilpasset søkemotor

For å kunne bruke JSON API for tilpasset søk, trenger vi en tilpasset søkemotor-ID. Imidlertid må vi først lage en tilpasset søkemotor som kan gjøres her.

Når du besøker siden Tilpasset søkemotor, klikker du på “Legg til” -knappen for å opprette en ny søkemotor.

I boksen "nettsteder å søke", bare sett inn "www.linuxhint.com ”og i boksen“ Navnet på søkemotoren ”legger du inn et hvilket som helst 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" -seksjon og en ID under den, det er ID-en vi trenger for API-et, og vi vil henvise til den senere i denne veiledningen. Søkemotor-ID-en bør holdes privat.

Husk at vi la inn «www.hint.com ”tidligere. Med den innstillingen ville vi bare få resultater fra nettstedet alene. Hvis du ønsker å få de normale resultatene fra totalt websøk, klikker du på "Oppsett" fra menyen til venstre og deretter klikker du på "Grunnleggende" -fanen. Gå til delen "Søk på hele nettet" og slå denne funksjonen på.

Opprette en API-nøkkel

Etter å ha opprettet en tilpasset søkemotor og fått ID-en, vil det neste være å opprette en API-nøkkel. API-nøkkelen gir tilgang til API-tjenesten, og den skal holdes trygg etter oppretting, akkurat som søkemotor-ID.

For å opprette en API-nøkkel, besøk nettstedet og klikk på "Get A Key" -knappen.

Lag et nytt prosjekt, og gi det et beskrivende navn. Når du klikker på “neste”, vil du få API-nøkkelen generert.

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

Få tilgang til API

Vi har gjort det bra med å få Custom Search ID og API Key. Deretter skal vi bruke API.

Mens du har tilgang til API-et med andre programmeringsspråk, skal vi gjøre det med Python.

For å 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-client

Etter vellykket installasjon kan du nå importere biblioteket i koden vår.

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

fra googleapiclient.funn import import
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 ("tollsøk", "v1", developerKey = api_key)
res = tjeneste.cse ().liste (q = søkeord, cx = cse_id, ** kwargs).henrette()
retur res

I funksjonen ovenfor er min_api_key og min_cse_id variabler bør erstattes av henholdsvis API-nøkkelen og søkemotor-IDen som strengverdier.

Alt som må gjøres nå er å ringe funksjonen som passerer i søkeordet, api-tasten og cse-id.

resultat = google_search ("Kaffe", min_api_key, my_cse_id)
skriv ut (resultat)

Funksjonssamtalen ovenfor vil søke etter nøkkelordet "Kaffe" og tilordne den returnerte verdien til resultat variabel, som deretter skrives ut. Et JSON-objekt returneres av API for tilpasset søk, og derfor videre analyse av det resulterende objektet vil kreve litt kunnskap om JSON.

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

JSON-objektet som er returnert ovenfor, ligner veldig på resultatet fra Google-søket:

Sammendrag

Å skrape Google for informasjon er egentlig ikke verdt stresset. Custom Search API gjør livet enkelt for alle, siden den eneste vanskeligheten er å analysere JSON-objektet for den nødvendige informasjonen. Husk alltid å holde den tilpassede søkemotor-ID-en og API-nøkkelverdiene private.

Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...
Mus Hvordan reversere rulle retning for mus og styreplater i Windows 10
Hvordan reversere rulle retning for mus og styreplater i Windows 10
Mus og Pekeplates gjør ikke bare databehandling enkelt, men mer effektivt og mindre tidkrevende. Vi kan ikke forestille oss et liv uten disse enhetene...
Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...