• Python

Een ranktracker bouwen met Python en Google Search API

  • Felix Rose-Collins
  • 5 min read

Intro

Zelfs met het belang van het bijhouden van trefwoorden, verbieden de ToS (Terms of Service) van Google het schrapen van SERP's (Search Engine Results Pages).

Google's anti-schrapmaatregelen zoals CAPTCHA's en IP-blokkering drijven de kosten van CAPTCHA-oplosdiensten op, inclusief de kosten van roterende proxies. Dit maakt het hele SEO-controleproces door middel van web scraping nog frustrerender.

Nou, als je in deze situatie zit of worstelt om accurate en legale Google zoekgegevens te krijgen om trefwoordrangschikking te volgen, dan is hier een legaal en betrouwbaar alternatief. Laten we eens kijken hoe je een rank tracker kunt bouwen met Python en Google Search API.

Een Rank Tracker bouwen met Python & Google Search API

Om een ranktracker te bouwen met Python en Google Search API, heb je vaardigheden nodig in Python-programmering, API-handling, databasebeheer en gegevensanalyse.

Merk op dat deze gids zich richt op het bouwen van een rank tracker voor globale trefwoord tracking. Voor lokale en geavanceerde keyword tracking, zou het integreren van uw Python script met een rank tracker API van pas kunnen komen.

Laten we ons nu verdiepen in het proces van het bouwen van een ranktracker met Python en Google Search API.

1. Stel uw Python programmeeromgeving en vereisten in

Voordat u een Python-script schrijft om trefwoordrangschikking bij te houden, moet u de nieuwste versie van Python installeren vanaf de officiële website. Het installatieproces varieert afhankelijk van het besturingssysteem dat u gebruikt.

Controleer na de installatie de installatie in de opdrachtregel of terminal. Installeer vervolgens een IDE of code editor naar keuze. Van de IDE's wordt VS code het meest aanbevolen omdat het de meeste Python scripting extensies ondersteunt en licht van gewicht is.

Maak kennis met Ranktracker

Het alles-in-één platform voor effectieve SEO

Achter elk succesvol bedrijf staat een sterke SEO-campagne. Maar met talloze optimalisatietools en -technieken om uit te kiezen, kan het moeilijk zijn om te weten waar te beginnen. Nou, vrees niet meer, want ik heb precies het ding om te helpen. Ik presenteer het Ranktracker alles-in-één platform voor effectieve SEO

We hebben eindelijk de registratie voor Ranktracker helemaal gratis geopend!

Maak een gratis account aan

Of log in met uw gegevens

Installeer vervolgens een virtuele omgeving om de afhankelijkheden van elk project dat je ontwikkelt te scheiden, zodat potentiële conflicten worden voorkomen. Tot slot installeert u de benodigde Python-bibliotheken en tools.

Van de Python-bibliotheken en -tools heb je de Requests-bibliotheek nodig om de API-aanroepen naar Google Search API te doen, _JSON om API-reacties te verwerken, Datetime om tijdstempelquery's op te slaan, SQlite om rankinggegevens en geschiedenis op te slaan en Plotly of Matplotlib voor visualisatie.

2. De Google Search API configureren

Nadat u uw Python-programmeeromgeving hebt ingesteld en getest, gaat u naar de pagina Google Programmeerbare zoekmachine en maakt u een nieuwe of aangepaste zoekmachine.

Voor deze zelfstudie stelt u uw aangepaste zoekmachine in om over het hele web te zoeken (globaal zoeken) en kopieert u de ID of CX-waarde ervan. Ga vervolgens naar de Google Cloud Console en schakel de Custom Search JSON API in om een API-sleutel te verkrijgen.

Na het verkrijgen van de CX-waarde en API-sleutel, slaat u deze twee veilig op in een configuratiebestand. Vermijd altijd hardcoding van de CX-waarde of API-sleutel om beveiligingsrisico's te beperken.

3. Een goed gestructureerd Python-script schrijven

Tot nu toe heb je een correct geconfigureerde programmeeromgeving en de ID (plus API-sleutel) van een aangepaste Google-zoekmachine.

Hier wordt uitgelegd hoe u uw Python-script kunt structureren in modulaire functies om te zorgen voor een soepel en geautomatiseerd trefwoordrangschikkingsproces.

Eerst moet je je project zo structureren dat het _config.py, tracker.py, database.db en requirements.txt _bestand bevat voor een betere navigatie en onderhoudbaarheid.

Maak kennis met Ranktracker

Het alles-in-één platform voor effectieve SEO

Achter elk succesvol bedrijf staat een sterke SEO-campagne. Maar met talloze optimalisatietools en -technieken om uit te kiezen, kan het moeilijk zijn om te weten waar te beginnen. Nou, vrees niet meer, want ik heb precies het ding om te helpen. Ik presenteer het Ranktracker alles-in-één platform voor effectieve SEO

We hebben eindelijk de registratie voor Ranktracker helemaal gratis geopend!

Maak een gratis account aan

Of log in met uw gegevens

Vergeet de data/map niet om de opgeslagen rangschikkingsgeschiedenis te bewaren. Zodra deze bestanden en de map er zijn, schrijf je de volgende functies om te lezen van, schrijven naar of wijzigen van de bestanden:

a)Een functie om Google Search API op te vragen

Deze functie moet een sleutelwoord als invoer accepteren en de API verzoek-URL construeren met behulp van de CX-waarde en API-sleutel uit het config.py-bestand. Het moet dan het verzoek naar de Google Search API sturen, die een JSON antwoord terugstuurt.

Tot slot parseert de functie het JSON-antwoord en extraheert de titels, URL's, snippets en rankingposities van de eerste 100 pagina's.

b)Een functie om ranggegevens te extraheren en op te slaan

Nadat de zoekresultaten zijn geparseerd, zoekt deze functie de URL van je website op in de geretourneerde lijst, bepaalt de positie op de ranglijst en slaat de ranglijstgegevens op in een gestructureerd formaat in SQlite.

De functie moet de zoekresultaten doorlopen en de positie van de URL van uw site vinden. Als deze wordt gevonden, wordt de positie op de ranglijst geëxtraheerd en opgeslagen. Als deze niet wordt gevonden, wordt aangenomen dat uw site niet in de top 100 staat voor het opgegeven trefwoord.

Maak kennis met Ranktracker

Het alles-in-één platform voor effectieve SEO

Achter elk succesvol bedrijf staat een sterke SEO-campagne. Maar met talloze optimalisatietools en -technieken om uit te kiezen, kan het moeilijk zijn om te weten waar te beginnen. Nou, vrees niet meer, want ik heb precies het ding om te helpen. Ik presenteer het Ranktracker alles-in-één platform voor effectieve SEO

We hebben eindelijk de registratie voor Ranktracker helemaal gratis geopend!

Maak een gratis account aan

Of log in met uw gegevens

Je kunt de functie de gegevens laten structureren in de volgende SQlite databasevelden - gezocht trefwoord, data en tijd van volgen, positie op de ranglijst en URL.

c)Een functie om gegevens te analyseren en te visualiseren

Eenmaal in de database haalt deze functie de opgeslagen rankinggegevens uit de database, analyseert deze en gebruikt bibliotheken zoals Plotly en Matplotlib om trends te visualiseren. Je kunt het model de gegevens ook laten doorgeven aan statistische modellen om dalingen en stijgingen in de ranking te detecteren, zodat je de SEO-inspanningen kunt bewaken.

1. De Python ranglijsttracker automatiseren

Test de functionaliteit van je script en implementeer foutafhandeling.

Het script moet bijvoorbeeld time-outs kunnen afhandelen of mislukte verzoeken opnieuw proberen. Log ook mislukte verzoeken om te voorkomen dat gegevens verloren gaan.

Om de ranking na een bepaald interval te controleren, automatiseer je het hele trackingproces met behulp van een scheduler zoals cron om keyword tracking na een bepaald interval te automatiseren (hoeveel keer per dag, week of maand). Zorg voor triggers om je te waarschuwen wanneer de ranking aanzienlijk daalt.

2. Geavanceerde functies toevoegen aan je Python ranktracker

Tot slot, als je eenmaal vertrouwd bent met het bouwen van een basisranglijst, heb je de optie om de volgende geavanceerde functies toe te voegen:

  • Apparaat-specifieke tracking: De mobiele en desktopranglijsten verschillen. Daarom kun je met de Google Search API beide rankings afzonderlijk bijhouden.

  • Concurrenten volgen: Naast je eigen website kun je ook URL's van concurrenten volgen.

  • Rangschikking op basis van geolocatie: Je kunt je beperken tot een specifieke locatie en resultaten ophalen die de zoekintenties van de gebruikers in een bepaalde stad of een bepaald land weerspiegelen.

  • SERP-eigenschap detectie: Als u wilt weten of pagina's van uw site worden weergegeven in de afbeeldingsresultaten, featured snippets of andere SERP-functies, kunt u dit specifiek doen met de Google Search API.

Ondanks de geavanceerde functies moet je er rekening mee houden dat je ongeveer 100 gratis zoekopdrachten per dag hebt. Als deze op zijn, moet je betalen. Je kunt ook maar maximaal 100 zoekresultaten ophalen. Daarom is het essentieel om je rank tracker te combineren met een API van een derde partij om de functionaliteit uit te breiden.

Inpakken!

En daar heb je het! De vijf stappen die je moet volgen om een ranktracker te bouwen met Python en de Google Search API.

Vergeet niet dat de Google Search API je tracking beperkt tot 100 zoekresultaten en 100 zoekopdrachten per dag. Desondanks kunt u trefwoordrangschikkingen efficiënt en legaal bijhouden zonder IP-verboden of CAPTCHA's te activeren. Bovendien mag je verzoeken verdelen over meerdere accounts, waardoor je meer zoekopdrachten per dag kunt verzenden.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Begin Ranktracker te gebruiken... Gratis!

Ontdek wat uw website belemmert in de ranking.

Maak een gratis account aan

Of log in met uw gegevens

Different views of Ranktracker app