wil je helpen? Hier zijn je opties:","Crunchbase","Over ons","Iedereen bedankt voor de geweldige steun!","Snelle links","Affiliate programma","ProxyScrape premie proefversie","Online Proxy checker","Proxy types","Proxy landen","Belangrijk","Cookiebeleid","Disclaimer","Privacybeleid","Algemene voorwaarden","Sociale media","Facebook","LinkedIn","Twitter","Quora","Telegram","Discord"," © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | België | BTW BE 0749 716 760"]}
Wanneer je gegevens van grootschalige websites scraapt, is de kans het kleinst dat je niet met een CAPTCHA te maken hebt gehad om te bewijzen dat je een mens bent. Als webscraper weet je misschien al waarom cyberbeveiligingsprofessionals deze CAPTCHA's moesten uitvinden. Ze waren het gevolg van bots die eindeloze websiteverzoeken automatiseerden om toegang te krijgen. Dus zelfs echte gebruikers moesten de pijn doorstaan van het confronteren met CAPTCHA's die in verschillende vormen verschijnen. Je kunt echter CAPTCHA's omzeilen, of je nu een webscraper bent of niet, en dat is het doel van dit artikel. Maar laten we eerst eens duiken in wat CAPTCHA's zijn.
CAPTCHA staat voor Completely Automated Public Turing Test to tell Computers and Humans Apart. Dat is een behoorlijk lang acroniem, nietwaar? Nu vraag je je misschien af wat het laatste deel van dit acroniem, Turing Test, betekent - wel, het is een eenvoudige test om te bepalen of een mens of een bot interactie heeft met een webpagina of webserver.
Een CAPTCHA maakt immers onderscheid tussen mensen en bots en helpt cybersecurity-analisten om webservers te beschermen tegen brute force-aanvallen, DDoS en in sommige situaties, web scraping.
Laten we eens kijken hoe CAPTCHA's mensen van bots onderscheiden.
Je vindt de CAPTCHA's in de formulieren van een website, waaronder contact-, registratie-, commentaar-, aanmeld- of afrekenformulieren.
Traditionele CAPTCHA's bevatten een afbeelding met uitgerekte of wazige letters, cijfers of beide in een vak met een achtergrondkleur of transparante achtergrond. Vervolgens moet je de tekens identificeren en ze in het volgende tekstveld typen. Dit proces van tekens identificeren is eenvoudiger voor mensen, maar enigszins ingewikkeld voor een bot.
Aan de andere kant kunnen sommige geavanceerde bots vervormde letters onderscheppen met behulp van machinaal leren door de jaren heen. Als gevolg hiervan hebben sommige bedrijven zoals Google conventionele CAPTCHA's vervangen door geavanceerde CAPTCHA's. Eén zo'n voorbeeld is ReCAPTCHA dat je in de volgende sectie zult ontdekken.
ReCAPTCHA is een gratis dienst die Google aanbiedt. Het vraagt de gebruikers om vakjes aan te vinken in plaats van tekst te typen, puzzels op te lossen of wiskundevergelijkingen te maken.
Een typische ReCAPTCHA is geavanceerder dan conventionele vormen van CAPTCHAs. Het gebruikt echte afbeeldingen en teksten zoals verkeerslichten in straten, teksten uit oude kranten en gedrukte boeken. Hierdoor hoeven gebruikers niet te vertrouwen op ouderwetse CAPTCHA's met wazige en vervormde tekst.
Er zijn drie belangrijke soorten ReCAPTCHA-tests om te controleren of je een mens bent of niet:
Dit zijn de ReCAPTCHA's die de gebruikers vragen om een selectievakje "Ik ben geen robot" aan te vinken, zoals in de afbeelding hierboven. Hoewel het met het blote oog lijkt dat zelfs een bot deze test zou kunnen voltooien, wordt er rekening gehouden met verschillende factoren:
Als de ReCAPTCHA er niet in slaagt om te verifiëren of je een mens bent, zal het je een andere uitdaging voorleggen.
Deze ReCAPTCHA's geven gebruikers negen of zestien vierkante afbeeldingen zoals je kunt zien in de bovenstaande afbeelding. Elk vierkant vertegenwoordigt een deel van een grotere afbeelding of verschillende afbeeldingen. Een gebruiker moet vierkanten selecteren die specifieke objecten, dieren, bomen, voertuigen of verkeerslichten voorstellen.
Als de selectie van de gebruiker overeenkomt met de selecties van andere gebruikers die dezelfde test hebben uitgevoerd, wordt de gebruiker geverifieerd. Anders zal de ReCAPTCHA een moeilijkere test voorstellen.
Wist je dat ReCAPTCHA kan verifiëren of je een mens bent of niet, zonder selectievakjes of gebruikersinteracties te gebruiken?
Dat doet het zeker door rekening te houden met de interactiegeschiedenis van de gebruiker met websites en het algemene gedrag van de gebruiker terwijl hij online is. In de meeste scenario's kan het systeem op basis van deze factoren bepalen of je een bot bent.
Als u dit niet doet, valt u terug op een van de twee eerder genoemde methoden.
CAPTCHA's kunnen worden geactiveerd als een website ongebruikelijke activiteiten detecteert die lijken op botgedrag; dergelijk ongebruikelijk gedrag omvat onbeperkte aanvragen binnen enkele seconden en klikken op links in een veel hoger tempo dan mensen.
Dan zouden sommige websites automatisch CAPTCHA's hebben om hun systemen af te schermen.
Wat de ReCAPTCHA's betreft, is het niet precies duidelijk waardoor ze worden geactiveerd. Algemene oorzaken zijn echter muisbewegingen, browsegeschiedenis en het bijhouden van cookies.
Nu heb je een duidelijk overzicht van wat CAPTCHA's en Rechaptchas zijn, hoe ze werken en wat ze triggert. Nu is het tijd om te kijken hoe CAPTCHA's web scraping beïnvloeden.
CAPTCHA's kunnen het schrapen van het web belemmeren omdat de geautomatiseerde bots de meeste schraapbewerkingen uitvoeren. Laat je echter niet ontmoedigen. Zoals vermeld aan het begin van dit artikel, zijn er manieren om CAPTCHA's te omzeilen bij het scrapen van het web. Laten we, voordat we daar op ingaan, eerst eens kijken waar je op moet letten voordat je gaat scrapen.
Wanneer je verbinding maakt met een website, stuur je informatie over je apparaat naar de verbindende website. Zij kunnen deze informatie gebruiken om de inhoud aan te passen aan de specificaties van uw apparaat en metrische tracking. Dus als ze erachter komen dat de verzoeken van hetzelfde apparaat komen, wordt elk verzoek dat je daarna verstuurt geblokkeerd.
Een ander feit waar je je bewust van moet zijn is dat de doelwebsite je IP-adres niet op de zwarte lijst heeft gezet. Ze zullen je IP-adres waarschijnlijk wel op de zwarte lijst zetten als je te veel aanvragen verstuurt met je scraper/crawler.
Het roteren van de HTTP-headers en proxies (meer hierover in de volgende sectie) met een pool zal ervoor zorgen dat meerdere apparaten toegang krijgen tot de website vanaf verschillende locaties. Je zou dus door moeten kunnen gaan met scrapen zonder onderbreking door CAPTCHAs. Dit gezegd zijnde, moet je ervoor zorgen dat je de prestaties van de website op geen enkele manier schaadt.
Naast de bovenstaande sleutelfactoren moet je de onderstaande CAPTCHAs kennen als je met een bot gaat webscrapen:
Alleen de user-agent wijzigen is niet voldoende, je moet een lijst van user-agent strings hebben en deze vervolgens rouleren. Deze rotatie zal ertoe leiden dat de doelwebsite je als een ander apparaat ziet, terwijl in werkelijkheid één apparaat alle aanvragen verstuurt.
Als best practice voor deze stap zou het geweldig zijn om een database van echte user agents bij te houden. Verwijder ook de cookies wanneer je ze niet langer nodig hebt.
Een meer eenvoudige en technische methode om een CAPTCHA op te lossen is het gebruik van een CAPTCHA-oplosdienst. Zij maken gebruik van kunstmatige intelligentie (AI), machinaal leren (MI) en een combinatie van andere technologieën om een CAPTCHA op te lossen.
Als je je scraper elke fractie van een seconde rechtstreeks toegang laat krijgen tot een URL, zal de ontvangende website achterdochtig worden. Het resultaat is dat de doelwebsite een CAPTCHA activeert.
Om zo'n scenario te vermijden, zou je de referer-header zo kunnen instellen dat het lijkt alsof er vanaf een andere pagina wordt verwezen. Dit zou de kans verkleinen dat het als bot wordt gedetecteerd. Je kunt er ook voor zorgen dat de bot andere pagina's bezoekt voordat hij de gewenste link bezoekt.
Honeypots zijn verborgen elementen op een webpagina die beveiligingsexperts gebruiken om bots of indringers in de val te lokken. Hoewel de browser de HTML weergeeft, zijn de CSS-eigenschappen ingesteld op verborgen. In tegenstelling tot mensen is de code van de honingpot echter zichtbaar voor de bots wanneer ze de gegevens scrapen. Als gevolg daarvan liepen ze in de val die door de honeypot was opgezet.
Je moet er dus voor zorgen dat je controleert of de CSS-eigenschappen van alle elementen op een webpagina niet verborgen of onzichtbaar zijn voordat je begint te scrapen. Pas wanneer je zeker bent dat geen enkel element verborgen is, stel je je bot in om te scrapen.
CAPTCHA's omzeilen is simpelweg het proces van het verwijderen van de blokkades die ontstaan tijdens het scrapen van gegevens van verschillende sites. CAPTCHA's zijn ontworpen om te controleren of het webverkeer organisch is.
ReCaptcha beschermt je websites tegen spam en kwaadwillig botverkeer. Het genereert interactieve puzzels om organisch verkeer van botverkeer te onderscheiden.
Als je webverzoeken terugstuurt van een bot of een scraping-oplossing, kunnen de CAPTCHA's gemakkelijk vaststellen dat het verkeer van een spammy bot afkomstig is. Als je dus een proxy adres van een proxy gebruikt, lijkt het meer op real-time verkeer.
Dit artikel zou je een uitgebreid idee hebben gegeven over hoe je CAPTCHA's kunt vermijden tijdens het scrapen van het web. Het vermijden van een CAPTCHA kan een ingewikkeld proces zijn. Met het gebruik van specifieke technieken die in dit artikel zijn besproken, kun je de bot echter zo ontwikkelen dat CAPTCHA's worden vermeden.
We hopen dat je gebruik zult maken van alle technieken die in dit artikel worden besproken.