donker proxyscrape logo

Gebruikersagenten gebruiken voor prijsscraping

Schrapen, -03-2021 jul5 min gelezen

Veel bedrijven voeren price scraping uit om gegevens van concurrerende websites te halen om de concurrentie voor te blijven. Om dit uit te voeren, gebruiken mensen vaak bots of webcrawlers waarbij je waarschijnlijk te maken krijgt met verschillende uitdagingen, zoals IP-blokkering van hostwebsites. Dit is waar je moet weten hoe je een user agent gebruikt om HTTP-headers te verzenden voor effectieve price scraping.

Laten we beginnen met de basisprincipes van user agents voordat we dieper ingaan op hoe je user agents kunt gebruiken voor het schrapen van prijzen.

Wat is een gebruikersagent?

Iedereen die op het web surft, heeft toegang via een user agent. Wanneer je verbinding maakt met het internet, stuurt je browser een user agent string die wordt opgenomen in de HTTP-header. Dus hoe definiëren we deze?

Om het duidelijker voor je te maken, open je je webbrowser en typ je bovenaan de pagina http://useragentstring.com/.Then. Je krijgt dan waarschijnlijk een tekenreeks te zien die lijkt op de onderstaande waarin je browsergegevens staan, het type besturingssysteem dat je gebruikt, of je besturingssysteem 32 bit of 64 bit is en nog veel meer nuttige informatie over je browser:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, zoals Gecko) Chrome/91.0.4472.124 Safari/537.36.

De tabel die volgt op die pagina beschrijft elk stukje string met een gedetailleerde beschrijving. Je kunt elk deel van die informatie lezen om een precies beeld te krijgen van je user agent.

Dus de webserver waarmee je verbinding maakt, heeft elke keer dat je verbinding maakt een user agent string nodig voor veiligheidsredenen en andere nuttige gegevens-bijvoorbeeld die nodig zijn voor SEO-doeleinden.

Nu begrijp je wat user agents zijn. In de volgende sectie wordt een kort overzicht gegeven van wat prijschrapen is, voordat wordt ingegaan op geschikte user agents voor schrapen.

Wat is prijsschrapen?

Prijschrapen is het proces waarbij prijsgegevens van websites worden gehaald, inclusief die van je concurrenten en andere websites die gerelateerd zijn aan jouw branche. Het hele proces omvat het zoeken en vervolgens kopiëren van gegevens van het internet naar je harde schijf om later te analyseren. Zo op het eerste gezicht zou je kunnen denken dat je deze taken handmatig zou kunnen uitvoeren. Maar bots zoals webcrawlers en scraperbots kunnen het hele scrapingproces versnellen en je leven een stuk eenvoudiger maken. 

Scraper bots - net als een webcrawler crawlen bots de pagina's van websites en halen er gegevens uit die je nodig hebt voor analyse. Deze gegevens omvatten de prijsgegevens van je concurrenten en andere gegevens die vergelijkbaar zijn met je producten. 

Aan de andere kant, scraper bots komen met een prijs om te betalen, zoals je zult ontdekken in de volgende secties.

Waarom zou je een user agent gebruiken voor het schrapen van prijzen?

Zoals eerder vermeld, wordt elke keer dat je verbinding maakt met een webserver een user agent string doorgegeven via HTTP-headers om te identificeren wie je bent. Op dezelfde manier sturen webcrawlers HTTP-headers om crawlactiviteiten uit te voeren.

Het is echter essentieel om in gedachten te houden dat webservers specifieke gebruikersagenten kunnen blokkeren, gezien het feit dat het verzoek van een bot afkomstig is. De meeste moderne, geavanceerde websites staan alleen bots toe waarvan ze denken dat ze gekwalificeerd zijn om crawlactiviteiten uit te voeren, zoals het indexeren van inhoud die zoekmachines zoals Google vereisen.

In de tussentijd is er geen specifieke user agent die ideaal is voor price scraping, omdat er regelmatig nieuwe browsers en besturingssystemen worden uitgebracht. Als je echter geïnteresseerd bent in het verkennen van de meest voorkomende user agents, kun je die hier vinden.

Omwille van de hierboven vermelde bezwaren, kan je veronderstellen dat de ideale oplossing zou zijn om de user agent niet te specificeren bij het automatiseren van een bot voor het schrapen van prijzen. In dergelijke omstandigheden zorgt het ervoor dat de scraping tool een standaard user agent gebruikt. Anderzijds is de kans groot dat doelwebsites zulke standaard user agents blokkeren als ze geen deel uitmaken van de belangrijkste user agents.

De volgende sectie richt zich dus op hoe je kunt voorkomen dat de user agent verbannen wordt bij het scrapen.

Tips om te voorkomen dat je user agent verboden wordt bij het schrapen van prijzen

Wanneer je prijzen van websites scrapeert, zijn er twee stukjes informatie over jou zichtbaar voor de doelserver - je IP-adres en HTTP-headers.

Wanneer je hetzelfde IP-adres gebruikt om meerdere verzoeken naar een doelserver te sturen voor het schrapen van prijzen, is de kans groter dat je een IP-blokkade krijgt van de doelsite. Aan de andere kant, zoals je hierboven hebt gezien, onthullen HTTP-headers informatie over je apparaat en browser. 

Net als bij IP-blokkering zal een doelwebsite je waarschijnlijk blokkeren als je user agent niet in een belangrijke categorie browsers valt. Veel bots die websites of prijzen scrapen hebben de neiging om de stap van het specificeren van de headers te negeren. Als gevolg daarvan zal de bot geblokkeerd worden voor het scrapen van de prijzen zoals vermeld in de bovenstaande sectie.

Om deze twee belangrijke problemen op te lossen, raden we daarom aan om de volgende benaderingen te gebruiken:

Roterend proxies

Het zou ideaal zijn om een pool van roterende proxies te gebruiken om je IP-adres te verbergen telkens als je prijzen aanvraagt om te scrapen. De meest geschikte proxies voor dit scenario zou residentiële proxies zijn, omdat ze de minste kans hebben om geblokkeerd te worden omdat hun IP-adressen afkomstig zijn van echte apparaten.

Roterende gebruikersagenten
Voor elk van deze verzoeken kun je, via een roterende proxy, verschillende user-agents laten roteren. Dit proces kan worden bereikt door een lijst van user-agent strings van browsers te verzamelen, die je hier kunt vinden. De volgende stap is om elk van deze strings automatisch te kiezen wanneer je verbinding maakt via een roterende proxy.

Als je de bovenstaande twee maatregelen implementeert, lijkt het voor de doelserver alsof verzoeken afkomstig zijn van verschillende IP-adressen met verschillende user agents. In werkelijkheid is het slechts één apparaat en één user agent die verzoeken verstuurt.

Conclusie

Het schrapen van prijzen is een vervelend en uitdagend proces. Bovendien kan het ook moeilijk zijn om te beslissen welke user agent je hiervoor moet gebruiken. Als u echter de bovenstaande best practices volgt, hebt u een grote kans om de blokkades van de doelwebsites te overwinnen en een degelijk prijsscrapproces te doorlopen.

Door de populairste gebruikersagenten te selecteren voor het schrapen van prijzen, loopt u niet het risico geblokkeerd te worden van de doelservers.