Python

Brug af Google Search API med Python

Brug af Google Search API med Python
Det er ingen nyheder, at Google er den største søgemaskine i verden. Mange mennesker vil gå en ekstra mil for at få deres indhold til at placere sig højt på Google før nogen anden søgemaskine. Som et resultat af dette har Google masser af kvalitetsresultater til hver søgning, og med gode placeringsalgoritmer kan du forvente at få det bedste ud af søgeresultaterne på Google.

Dette har en implikation. Dets implikation er, at der findes mange nyttige data på Google, og det kræver et behov for at skrabe disse gyldne data. De skrabede data kan bruges til kvalitetsdataanalyse og opdagelse af vidunderlig indsigt. Det kan også være vigtigt at få stor forskningsinformation i et forsøg.

Når vi taler om skrabning, kan dette gøres med tredjepartsværktøjer. Det kan også gøres med et Python-bibliotek kendt som Scrapy. Scrapy vurderes at være et af de bedste skrabeværktøjer og kan bruges til at skrabe næsten enhver webside. Du kan finde ud af mere på Scrapy-biblioteket.

Uanset styrkerne ved dette vidunderlige bibliotek. Skrabning af data på Google kan være en vanskelig opgave. Google kommer hårdt ned på ethvert webskrabningsforsøg og sikrer, at skrabeskripter ikke engang foretager så mange 10 skrabeanmodninger på en time, før IP-adressen er forbudt.  Dette gør tredjeparts- og personlige webskrabeskripter ubrugelige.

Google giver dog mulighed for at skrabe information. Uanset hvad der skrabes, skal det ske gennem et API til applikationsprogrammering (API).

Bare hvis du ikke allerede ved, hvad et applikationsprogrammeringsgrænseflade er, er der intet at bekymre sig om, da jeg giver en kort forklaring. Per definition er en API et sæt funktioner og procedurer, der tillader oprettelse af applikationer, der har adgang til funktionerne eller dataene i et operativsystem, applikation eller anden service. Dybest set giver en API dig adgang til slutresultatet af processer uden at skulle være involveret i disse processer. For eksempel vil en temperatur-API give dig Celsius / Fahrenheit-værdierne for et sted uden at du behøver at gå der med et termometer for at foretage målingerne selv.

Når vi bringer dette ind i omfanget af skrabningsoplysninger fra Google, giver API'en, vi bruger, os adgang til de nødvendige oplysninger uden at skulle skrive noget script for at skrabe resultatsiden for en Google-søgning. Via API'et kan vi simpelthen have adgang til slutresultatet (efter at Google "skraber" i slutningen) uden at skrive nogen kode for at skrabe websider.

Mens Google har masser af API'er til forskellige formål, vil vi bruge JSON API til tilpasset søgning med henblik på denne artikel. Flere oplysninger om denne API kan findes her.

Denne API giver os mulighed for at foretage 100 søgeforespørgsler om dagen gratis, med prisplaner tilgængelige til at stille flere forespørgsler, hvis det er nødvendigt.

Oprettelse af en tilpasset søgemaskine

For at kunne bruge JSON API til tilpasset søgning, ville vi have brug for et tilpasset søgemaskine-id. Vi bliver dog nødt til først at oprette en tilpasset søgemaskine, som kan gøres her.

Når du besøger siden Tilpasset søgemaskine, skal du klikke på knappen "Tilføj" for at oprette en ny søgemaskine.

I feltet "websteder, der skal søges", skal du blot sætte "www.linuxhint.com ”og i feltet“ Navn på søgemaskinen ”skal du angive et hvilket som helst beskrivende navn efter eget valg (Google foretrækkes).

Klik nu på "Opret" for at oprette den brugerdefinerede søgemaskine, og klik på knappen "kontrolpanel" fra siden for at bekræfte succesen med oprettelsen.

Du ville se en "søgemaskine-id" sektion og et id under det, det er det id, vi ville have brug for til API'et, og vi ville henvise til det senere i denne vejledning. Søgemaskine-id'et skal holdes privat.

Husk, at vi har sat ”www.linuhint.com ”tidligere. Med denne indstilling ville vi kun få resultater fra webstedet alene. Hvis du ønsker at få de normale resultater fra total websøgning, skal du klikke på "Opsætning" i menuen til venstre og derefter klikke på fanen "Grundlæggende". Gå til afsnittet "Søg på hele internettet", og slå denne funktion til.

Oprettelse af en API-nøgle

Efter oprettelse af en brugerdefineret søgemaskine og hentning af dens id ville det næste være at oprette en API-nøgle. API-nøglen giver adgang til API-tjenesten, og den skal holdes sikker efter oprettelsen ligesom søgemaskine-id'et.

For at oprette en API-nøgle skal du besøge webstedet og klikke på knappen "Få en nøgle".

Opret et nyt projekt, og giv det et beskrivende navn. Når du klikker på “næste”, vil API-nøglen blive genereret.

På den næste side ville vi have forskellige opsætningsmuligheder, som ikke er nødvendige for denne tutorial, så du skal bare klikke på knappen "Gem", så er vi klar til at gå.

Adgang til API

Vi har klaret os godt med at få Custom Search ID og API Key. Dernæst skal vi bruge API'en.

Mens du kan få adgang til API'en med andre programmeringssprog, vil vi gøre det med Python.

For at få adgang til API'en med Python skal du installere Google API-klienten til Python. Dette kan installeres ved hjælp af pip-installationspakken med kommandoen nedenfor:

pip installer google-api-python-client

Efter en vellykket installation kan du nu importere biblioteket i vores kode.

Det meste af det, der vil blive gjort, vil være gennem nedenstående funktion:

fra googleapiclient.build til opdagelsesimport
my_api_key = "Din API-nøgle"
my_cse_id = "Dit CSE-id"
def google_search (search_term, api_key, cse_id, ** kwargs):
service = build ("toldsøgning", "v1", developerKey = api_key)
res = service.cse ().liste (q = søgeterm, cx = cse_id, ** kwargs).udføre ()
returnere res

I ovenstående funktion er min_api_key og min_cse_id variabler skal erstattes af henholdsvis API-nøglen og søgemaskine-id'et som strengværdier.

Alt, hvad der skal gøres nu, er at kalde den funktion, der passerer i søgeudtrykket, api-tasten og cse-id'et.

resultat = google_search ("Kaffe", min_api_key, my_cse_id)
print (resultat)

Funktionsopkaldet ovenfor søger efter nøgleordet "Kaffe" og tildeler den returnerede værdi til resultat variabel, som derefter udskrives. Et JSON-objekt returneres af Custom Search API, derfor vil enhver yderligere parsing af det resulterende objekt kræve lidt viden om JSON.

Dette kan ses fra en stikprøve af resultatet som vist nedenfor:

JSON-objektet, der returneres ovenfor, ligner meget resultatet fra Google-søgningen:

Resumé

At skrabe Google efter information er ikke rigtig stress værd. Custom Search API gør livet let for alle, da det eneste problem er at analysere JSON-objektet efter de nødvendige oplysninger. Som en påmindelse skal du altid huske at holde dit tilpassede søgemaskine-id og API-nøgleværdier private.

Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...