Meteen naar de inhoud

Cloudflare-fout 1020: wat het is en hoe u dit kunt vermijden bij webscrapen

  • by
  • Blog
  • 6 min gelezen

Als je ooit hebt geprobeerd een website te openen of te scrapen en een pagina tegenkwam met de tekst "Error 1020: Access Denied", ben je de botbescherming van Cloudflare tegengekomen. Dit kan uiterst frustrerend zijn, vooral als u bezig bent met het verzamelen van belangrijke gegevens. Maar wat is Cloudflare-fout 1020 precies, wat veroorzaakt deze en hoe kunt u voorkomen dat websites met succes worden geschraapt?

In deze uitgebreide gids bespreken we alles wat u moet weten over Cloudflare error 1020 en delen we beproefde technieken om te voorkomen dat deze uw webscraping-inspanningen blokkeert. Laten we erin duiken!

Wat is Cloudflare-fout 1020?

Ten eerste is het belangrijk om te begrijpen wat Cloudflare is. Cloudflare is een populaire service die veel websites gebruiken om de beveiliging, prestaties en betrouwbaarheid te verbeteren. Een belangrijk kenmerk is de firewall en DDoS-bescherming die binnenkomend verkeer analyseert en verdachte verzoeken blokkeert.

Wanneer Cloudflare detecteert dat een verzoek een van de firewallregels van de website heeft geschonden, blokkeert het het verzoek en retourneert het de foutmelding 1020 "Toegang geweigerd". Dit is de manier van Cloudflare om websites te beschermen tegen kwaadaardige bots, DDoS-aanvallen, content scraping en ander ongewenst geautomatiseerd verkeer.

Het volledige foutbericht dat u te zien krijgt, is:
"Toegang geweigerd
Foutcode 1020
Wat is er gebeurd?
Deze website gebruikt een beveiligingsdienst om zichzelf te beschermen tegen online aanvallen."

Wat veroorzaakt Cloudflare-fout 1020?

Er zijn een aantal redenen waarom uw verzoek geblokkeerd kan worden met een 1020-fout, maar dit betekent over het algemeen dat Cloudflare het heeft gemarkeerd als geautomatiseerd of mogelijk kwaadaardig. Enkele veel voorkomende oorzaken zijn:

  • Te veel verzoeken te snel verzenden (hoog aantal verzoeken)
  • Geen gebruik maken van legitieme gebruikersheaders (user-agent, cookies, referrer, enz.)
  • Uw IP-adres heeft een slechte reputatie in verband met bots/spam
  • De pagina vereist Javascript-weergave, maar uw bot voert geen JS uit
  • U probeert toegang te krijgen tot een beperkt gebied (inlogpagina, beheerderspaneel, enz.)
  • De site-eigenaar heeft strikte firewallregels geconfigureerd die door uw verzoek worden geactiveerd

Kortom, als uw verzoeken niet voldoende lijken op normaal gebruikersverkeer van een webbrowser, is de kans groot dat ze worden geblokkeerd. De botdetectie van Cloudflare is behoorlijk geavanceerd.

Hoe u Cloudflare-fout 1020 kunt oplossen

U probeert dus een site te scrapen, maar blijft de gevreesde 1020-fout tegenkomen. Hoe los je het op, zodat je door kunt gaan met het verzamelen van gegevens? Hier zijn enkele tips en best practices.

1. Controleer of de site normaal bereikbaar is

Voordat u probeert de botbeveiliging te omzeilen, moet u eerst controleren of u de site in een normale webbrowser kunt bereiken. Als u hetzelfde bericht Toegang geweigerd krijgt, is het probleem niet uw scrapingtool, maar eerder een netwerk- of connectiviteitsprobleem aan uw kant.

Probeer de URL te openen in een incognito browservenster. Als dat ook niet werkt, is de site mogelijk offline of wordt uw IP-adres geblokkeerd. Probeer een ander netwerk of VPN.

2. Verlaag uw verzoeksnelheid

Een van de meest voorkomende redenen voor botdetectie is simpelweg het te vaak verzenden van verzoeken. Het snel bombarderen van een site met paginaverzoeken in een korte tijdsspanne is een zekere manier om geblokkeerd te raken.

Voeg vertragingen toe tussen uw verzoeken om het menselijke surfgedrag beter te simuleren. Een paar seconden is meestal goed, maar voor zeer botgevoelige sites heeft u mogelijk meer dan 10 seconden nodig tussen verzoeken. Experimenteer om de goede plek te vinden.

3. Roteer IP-adressen en user-agents

Een andere grote rode vlag is wanneer alle verzoeken afkomstig zijn van één enkel IP-adres. Normale gebruikers hebben verschillende IP's.

Gebruik een groep proxyservers om het IP-adres bij elk verzoek te roteren. Idealiter zouden dit premium proxy's moeten zijn met een goede reputatie. Roterende datacenter-IP’s kunnen nog steeds geblokkeerd worden. Residentiële proxy's van echte apparaten zijn het beste om IP-gebaseerde blokkering te voorkomen.

Zorg er ook voor dat u een geldige, roterende user-agent-header instelt om verschillende browsers/apparaten weer te geven.

4. Gebruik mensachtige headers en cookies

Kijk eens naar de headers die een echte webbrowser verzendt wanneer hij de site bezoekt. Probeer deze zo goed mogelijk na te bootsen in uw schraper.

Stel met name het volgende in:

  • Een algemene user-agentreeks
  • Referrer URL
  • Taal en codering
  • Eventuele cookies die de site instelt

U kunt browserontwikkeltools of een extensie gebruiken om de volledige headers te bekijken. Repliceer alle standaardversies.

5. Behandel JavaScript-rendering

Sommige sites gebruiken Javascript-uitdagingen en CAPTCHA-pagina's waarvoor JS-rendering nodig is om deze op te lossen. Als uw scraper JS niet uitvoert, kunt u niet verder komen.

Tools zoals Puppeteer of Selenium kunnen pagina's in een volledige browseromgeving weergeven. Voor JS-zware sites moet u een renderingtool gebruiken in plaats van een eenvoudige HTTP-bibliotheek.

6. Maskeer uw schraper als een normale browser

Voor de meest onopvallende aanpak die zeer moeilijk te detecteren is, kunt u overwegen een geautomatiseerd browserprofiel te gebruiken dat zichzelf maskeert als een menselijke gebruiker.

Undetected-chromedriver is een populair Python-pakket dat Chrome automatisch configureert om te voorkomen dat botdetectie wordt geactiveerd. Het zorgt voor headers, cookies, WebGL-vingerafdrukken en vele andere geavanceerde controles.

Het combineren van niet-gedetecteerde chromedriver met residentiële proxy's is een geweldige manier om uw scraperverzoeken te laten lijken op normaal gebruikersverkeer naar de systemen van Cloudflare. Het vereist meer middelen dan eenvoudige verzoeken, maar is zeer effectief om 1020-fouten te voorkomen.

Gebruik ScrapingBee om blokken voor u te vermijden

Als u ten slotte niet zelf met de botbescherming van Cloudflare te maken wilt hebben, kunt u dit door een speciale webscraping-API laten afhandelen.

ScrapingBee is een krachtige tool die achter de schermen zorgt voor IP-rotatie, headers, browserweergave en CAPTCHA's, zodat u zich alleen kunt concentreren op het parseren van gegevens. Het beheert een grote verzameling proxy's en browserprofielen om uw verzoeken onopgemerkt te houden.

Met de ScrapingBee API geeft u eenvoudigweg de URL op die u wilt schrapen en krijgt u het HTML-antwoord terug. Het fungeert als een slimme proxy om de pagina-inhoud voor u op te halen, waarbij eventuele anti-botmaatregelen worden afgehandeld.

Hier is een snel voorbeeld van het gebruik van de ScrapingBee Python SDK:

from scrapingbee import ScrapingBeeClient

client = ScrapingBeeClient(api_key=‘YOUR_API_KEY‘)

response = client.get(
    ‘https://example.com‘, 
    params = { 
        ‘render_js‘: ‘false‘
    }
)

print(‘Response HTTP Status Code: ‘, response.status_code)
print(‘Response HTTP Response Body: ‘, response.content)

Zoals u kunt zien, kunt u met slechts een paar regels code de HTML van de pagina ophalen zonder dat u zich zorgen hoeft te maken over Cloudflare-blokken. De API zorgt ervoor dat mislukte aanvragen opnieuw worden geprobeerd en dat de inhoud wordt geretourneerd alsof een echte browsergebruiker er toegang toe heeft gehad.

Het gebruik van een gespecialiseerde scraping-API bespaart veel tijd en hoofdpijn, vergeleken met het zelf onzichtbaar maken van uw scrapers. Probeer het eens als u de eenvoudigste manier wilt om 1020-fouten te voorkomen.

verpakken

Cloudflare-fout 1020 kan de inspanningen op het gebied van webschrapen zeker verstoren, maar met enkele aanpassingen aan uw aanpak is het in de meeste gevallen mogelijk om dit te vermijden. Onthoud deze belangrijke tips:

  • Vertraag uw verzoeksnelheid om menselijk gedrag na te bootsen
  • Roteer IP-adressen en headers om het verkeer te diversifiëren
  • Gebruik mensachtige browserheaders, cookies en user agents
  • Verwerk JavaScript-rendering voor JS-gebaseerde uitdagingen
  • Overweeg een scraping-API zoals ScrapingBee om blokken weg te abstraheren

Met de juiste technieken en tools kun je gegevens verzamelen van zelfs de meest botgevoelige sites zonder de verdediging van Cloudflare in werking te stellen. De sleutel is om uw schraper zo veel mogelijk als een echte gebruiker te laten fungeren.

Ik hoop dat deze handleiding nuttig is geweest voor het begrijpen en oplossen van Cloudflare-fout 1020! Laat het me weten als je nog vragen hebt.

Doe mee aan het gesprek

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *