Python

Google Search API gebruiken met Python

Google Search API gebruiken met Python
Het is geen nieuws dat Google de grootste zoekmachine ter wereld is. Veel mensen zullen een stap verder gaan om ervoor te zorgen dat hun inhoud hoog scoort op Google voor welke andere zoekmachine dan ook. Als gevolg hiervan heeft Google veel kwaliteitsresultaten voor elke zoekopdracht en met geweldige rangschikkingsalgoritmen kunt u de beste zoekresultaten op Google verwachten.

Dit heeft een implicatie. De implicatie is dat er veel nuttige gegevens op Google bestaan ​​en dat het nodig is om deze gouden gegevens te schrapen. De geschraapte gegevens kunnen worden gebruikt voor kwaliteitsgegevensanalyse en het ontdekken van prachtige inzichten. Het kan ook belangrijk zijn om in één keer geweldige onderzoeksinformatie te krijgen.

Over schrapen gesproken, dit kan met tools van derden. Het kan ook worden gedaan met een Python-bibliotheek die bekend staat als Scrapy. Scrapy wordt beschouwd als een van de beste scraptools en kan worden gebruikt om bijna elke webpagina te schrapen. U kunt meer informatie vinden in de Scrapy-bibliotheek.

Ongeacht de sterke punten van deze prachtige bibliotheek. Gegevens op Google schrapen kan een moeilijke taak zijn. Google komt hard neer op elke poging tot webscraping, en zorgt ervoor dat scraping-scripts niet eens zoveel 10 scrape-verzoeken doen in een uur voordat het IP-adres wordt verbannen.  Dit maakt scripts van derden en persoonlijke webscraping onbruikbaar.

Google geeft wel de mogelijkheid om informatie te schrapen. Wat er ook wordt geschraapt, het moet via een Application Programming Interface (API).

Voor het geval u nog niet weet wat een Application Programming Interface is, hoeft u zich geen zorgen te maken, want ik zal een korte uitleg geven. Per definitie is een API een set functies en procedures waarmee applicaties kunnen worden gemaakt die toegang hebben tot de functies of gegevens van een besturingssysteem, applicatie of andere service. Kortom, met een API krijgt u toegang tot het eindresultaat van processen zonder dat u bij die processen betrokken hoeft te zijn. Een temperatuur-API geeft u bijvoorbeeld de Celsius/Fahrenheit-waarden van een plaats zonder dat u daar met een thermometer heen hoeft te gaan om zelf de metingen te doen.

Door dit in het kader van het schrapen van informatie van Google te brengen, geeft de API die we zouden gebruiken ons toegang tot de benodigde informatie zonder een script te hoeven schrijven om de resultatenpagina van een Google-zoekopdracht te schrapen. Via de API hebben we eenvoudig toegang tot het eindresultaat (nadat Google het "schrapen" aan hun einde heeft gedaan) zonder code te schrijven om webpagina's te schrapen.

Hoewel Google veel API's heeft voor verschillende doeleinden, gaan we voor dit artikel de Custom Search JSON API gebruiken. Meer informatie over deze API vind je hier.

Deze API stelt ons in staat om 100 zoekopdrachten per dag gratis uit te voeren, met prijsplannen beschikbaar voor het maken van meer zoekopdrachten indien nodig.

Een aangepaste zoekmachine maken

Om de Custom Search JSON API te kunnen gebruiken, hebben we een Custom Search Engine ID nodig. We zouden echter eerst een Custom Search Engine moeten maken, wat hier kan:.

Wanneer u de Custom Search Engine-pagina bezoekt, klikt u op de knop "Toevoegen" om een ​​nieuwe zoekmachine te maken.

In het vak "te doorzoeken sites" typt u eenvoudig "www.linuxhint.com" en in het vak "Naam van de zoekmachine" een beschrijvende naam naar keuze in (Google heeft de voorkeur).

Klik nu op "Maken" om de aangepaste zoekmachine te maken en klik op de knop "configuratiescherm" op de pagina om het succes van de creatie te bevestigen.

Je zou een sectie "Zoekmachine-ID" zien en een ID eronder, dat is de ID die we nodig hebben voor de API en we zouden er later in deze tutorial naar verwijzen. De zoekmachine-ID moet privé blijven.

Voordat we vertrekken, onthoud dat we "www.linuhint.com” eerder. Met die instelling zouden we alleen resultaten krijgen van de site alleen. Als u de normale resultaten van de totale zoekopdracht op internet wilt krijgen, klikt u op "Instellen" in het menu aan de linkerkant en klikt u vervolgens op het tabblad "Basis". Ga naar het gedeelte "Zoeken op het hele web" en schakel deze functie in.

Een API-sleutel maken

Na het maken van een Custom Search Engine en het verkrijgen van de ID, is de volgende stap het maken van een API-sleutel. De API-sleutel geeft toegang tot de API-service en moet na het maken veilig worden bewaard, net als de zoekmachine-ID.

Om een ​​API-sleutel aan te maken, gaat u naar de site en klikt u op de knop "Get A Key".

Maak een nieuw project en geef het een beschrijvende naam. Als u op "volgende" klikt, wordt de API-sleutel gegenereerd.

Op de volgende pagina zouden we verschillende instellingsopties hebben die niet nodig zijn voor deze tutorial, dus je hoeft alleen maar op de knop "opslaan" te klikken en we zijn klaar om te gaan.

Toegang tot de API

We hebben er goed aan gedaan om de Custom Search ID en de API Key te verkrijgen. Vervolgens gaan we gebruik maken van de API.

Hoewel je toegang hebt tot de API met andere programmeertalen, gaan we dit doen met Python.

Om toegang te krijgen tot de API met Python, moet je de Google API Client voor Python installeren. Dit kan worden geïnstalleerd met behulp van het pip-installatiepakket met de onderstaande opdracht:

pip installeer google-api-python-client

Na een succesvolle installatie kunt u de bibliotheek nu importeren in onze code.

Het meeste van wat zal worden gedaan, zou via de onderstaande functie zijn:

van googleapiclient.ontdekking import build
my_api_key = "Uw API-sleutel"
my_cse_id = "Uw CSE-ID"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = dienst.cse().lijst(q=zoekterm, cx=cse_id, **kwargs).uitvoeren()
retour res

In de functie hierboven, de mijn_api_key en mijn_cse_id variabelen moeten worden vervangen door respectievelijk de API-sleutel en de zoekmachine-ID als tekenreekswaarden.

Het enige dat nu moet worden gedaan, is de functie aanroepen die de zoekterm, de api-sleutel en de cse-id doorgeeft.

resultaat = google_search("Koffie", my_api_key, my_cse_id)
afdrukken (resultaat)

De bovenstaande functie-aanroep zou zoeken naar het trefwoord "Koffie" en de geretourneerde waarde toewijzen aan de resultaat variabele, die vervolgens wordt afgedrukt. Een JSON-object wordt geretourneerd door de Custom Search API, daarom is voor het verder ontleden van het resulterende object enige kennis van JSON vereist.

Dit kan worden gezien aan de hand van een voorbeeld van het resultaat, zoals hieronder te zien is:

Het hierboven geretourneerde JSON-object lijkt erg op het resultaat van de Google-zoekopdracht:

Samenvatting

Google schrapen voor informatie is de stress niet echt waard. De Custom Search API maakt het leven voor iedereen gemakkelijk, omdat de enige moeilijkheid is om het JSON-object te ontleden voor de benodigde informatie. Onthoud altijd dat u uw Custom Search Engine ID en API Key-waarden privé moet houden.

Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...