Meteen naar de inhoud

Cloudflare-detectie omzeilen met Selenium

Bent u op zoek naar een manier om Cloudflare-detectie te omzeilen bij het coderen van uw bot in Python? Dan bent u op de juiste pagina. Het onderstaande artikel geeft een handleiding over het omzeilen van Cloudflare met behulp van Python en Selenium.

Webbots, inclusief webschrapers, zijn in de loop der jaren veel vooruitgegaan. En laten we eerlijk zijn; websites worden ook steeds slimmer in het detecteren van botverkeer. Een van de game changers die botontwikkelaars doet zweten, is de Cloudflare anti-botsystemen.

Het fungeert als een middleware of een proxy tussen webservers en clientsoftware. Als u een webverzoek verzendt, moet het controleren of het niet-spam en legitiem is voordat het doorgaat naar uw doelwebsite.

Gewone internetgebruikers ervaren een kleine vertraging en krijgen de melding "uw browser controleren alvorens toegang te krijgen tot ...". bericht op het scherm. Maar dit gaat uiteindelijk over. Als u echter een bot gebruikt, krijgt u hoogstwaarschijnlijk geen toegang. Sommige ontwikkelaars denken dat het gebruik van een browserautomatisering zoals Selenium ook voor hen de magie zou doen.

Helaas is Cloudflare gebouwd om dit ook te detecteren. Dus wat doe je, en hoe doe je omzeil Cloudflare-detectie als botontwikkelaar Python en Cloudflare gebruiken? In dit artikel wordt u getoond hoe u Cloudflare-detectie kunt omzeilen met behulp van Python en Selenium.


Een overzicht van selenium

Selenium overzicht

Selenium web driver is een browser-automator. Wat je daarmee doet, is aan jou. Sommigen gebruiken het voor het testen van sites, anderen voor het botten en schrapen. Het is een veelzijdige tool, omdat je het in meerdere populaire programmeertalen kunt gebruiken, zoals Python, Java en NodeJS.

Het ondersteunt ook populaire browsers zoals Chrome, Firefox, Edge en Internet Explorer. Onze focus ligt hier op de Python-ondersteuning. In Python is Selenium de belangrijkste tool voor het botten en schrapen van websites die afhankelijk zijn van JavaScript-rendering. De wil van Scrapy, Requests en Beautifulsoup zijn daar niet geschikt voor.

Selenium is echter alleen effectief tegen websites met standaard antispamsystemen. Met behulp van proxy's, het wissen van cookies, het instellen van willekeurige vertragingen en een paar andere methoden, kunt u detectie en blokkering omzeilen.

Maar wanneer een website wordt beschermd door antispamsystemen zoals Cloudflare en Akamai, wordt Selenium ineffectief. Dit komt omdat er standaardaanwijzers zijn die antispamsystemen gebruiken om bots te detecteren die de standaard Selenium-tool heeft.


Cloudflare omzeilen met Selenium en Python

Met de juiste stappen kan Selenium Cloudflare gemakkelijk omzeilen. Laten we, voordat we daarop ingaan, eens kijken hoe goed Cloudflare werkt bij het detecteren van bots die zijn gecodeerd met Python en Selenium. Om dit te doen, zullen we een eenvoudige bot coderen die toegang probeert te krijgen rayobyte. com.

Rayobyte-overzicht

Rayobyte is een proxyprovider die wordt beschermd door Cloudflare. Als u toegang probeert te krijgen met een browser, moet uw browser worden gecontroleerd voordat u toegang krijgt. We zullen dit gebruiken om te testen hoe effectief Cloudflare is en vervolgens een andere bot coderen die maatregelen zal nemen om het te omzeilen.


Stap 1: installeer de benodigde tools

Om een ​​bot in Python te kunnen coderen, moet Python zijn geïnstalleerd. Voor dit project moet je ook Selenium geïnstalleerd hebben.

  • Python

Python Overzicht

Voor de meeste systemen is Python al geïnstalleerd. De geïnstalleerde versie is echter Python 2, die om verouderde redenen wordt gebruikt. U moet Python 3 installeren om Selenium te gebruiken. Bezoek de officiële downloadpagina van Python om het op uw systeem te installeren. Het is beschikbaar voor Windows, macOS en Linux. Voer de onderstaande opdracht uit in uw opdrachtprompt om te controleren of de installatie met succes is voltooid.

"python-versie"
  • Selenium

Selenium-gereedschappen

Selenium is een complete botting-tool. Het automatiseert de browser, zodat u pagina's kunt openen, op knoppen kunt klikken, kunt scrollen en zelfs formulieren kunt invullen en elke actie kunt uitvoeren die u handmatig kunt uitvoeren. Selenium is een tool van derden.

Om het te laten werken, moet u het hebben geïnstalleerd en vervolgens het specifieke stuurprogramma voor de browser die u wilt automatiseren in het pad downloaden en plaatsen.

Voor deze handleiding gebruiken we Chrome, omdat dit de meest populaire browser is die er is.

Om Selenium te installeren, voert u het

"pip installeer selenium"

opdracht in de opdrachtprompt. Zodra de download is voltooid, kunt u nu de downloadpagina voor de Chrome-webdriver bezoeken. C

controleer de versie van Chrome die u heeft en download de driver specifiek voor uw Chrome-versie. Als u die van een andere versie downloadt, werkt het niet.

Pak na het downloaden de inhoud uit in een map. Die map wordt de werkmap voor dit project.


Stap 2: Stuur een verzoek naar de website zonder bypasstruc

Onze doelwebsite is rayobyte. com. We zullen een script coderen dat een verzoek naar deze website zal sturen en zien welke reactie we krijgen.

Hieronder staat de code. Het is vrij eenvoudig. Degene die meer regels code nodig heeft, is eigenlijk degene met de code om Cloudflare te omzeilen.

Gebruik onderstaande code in je favoriete Python IDLE. In mijn geval gebruik ik Pycharm, dat momenteel de beste IDLE op de markt is - dit is echter betwistbaar. Het grote probleem is dat het betaald wordt.

van selenium.webdriver importeren Chrome-browser = Chrome() browser.get("https://rayobyte.com")

De bovenstaande code start de Chrome-browser op uw systeem en probeert toegang te krijgen tot de startpagina van de Rayobyte-website.

In plaats van toegang te krijgen tot de pagina, zal deze echter gewoon in een lus blijven en op de Cloudflare-verificatiepagina blijven. Hieronder is een screenshot van hoe de pagina eruit ziet.

Als je de code goed controleert, zie je dat ik hem niet heb afgesloten. Dit is om me in staat te stellen te zien of de pagina uiteindelijk kan worden geladen. Maar dat zal nooit gebeuren. U dient de geautomatiseerde browser te sluiten.

Zoals je al hebt gezien, kan Selenium alleen niet worden gebruikt om Cloudflare te omzeilen. Als je Cloudflare wilt omzeilen, moet je een paar trucjes gebruiken. De volgende stap laat je zien hoe je dezelfde Selenium en Python kunt gebruiken om Cloudflare te omzeilen.


Stap 3: Plug-in gebruiken om Cloudflare te omzeilen

plug-in gebruiken om Cloudflare te omzeilen

Zoals je hierboven kunt zien, detecteert Cloudflare Selenium-scripts als bots. Het gebruik van proxy's zal u in dit geval niet helpen. Je hebt andere methodes nodig.

De beste manier om Cloudflare met Selenium en Python te omzeilen, is door een bibliotheek te gebruiken die bekend staat als Niet-gedetecteerde ChromeDriver. U kunt deze installeren met behulp van de

"pip install onopgemerkt-chromedriver"

Deze plug-in werkt alleen als u Chrome wilt aansturen/automatiseren. Momenteel zijn er geen opties om andere browsers te automatiseren. Als je deze bibliotheek hebt geïnstalleerd, hoef je alleen maar de standaard browserklasse in Selenium hiermee te vervangen, en je bent klaar om te gaan.

Hieronder vindt u een codefragment dat u laat zien hoe u de Undetected ChromeDriver correct gebruikt om Cloudflare te omzeilen.

importeer undetected_chromedriver als uc uit selenium.webdriver.support.ui importeer WebDriverWait driver = uc.Chrome(use_subprocess=True) wait = WebDriverWait(driver, 20) driver.get("https://rayobyte.com")

Door alleen de niet-gedetecteerde Chromedriver-bibliotheek te gebruiken, zult u zien dat u detectie door Cloudflare kunt omzeilen. Hierdoor kunt u uw taken automatiseren of zelfs zonder problemen het web afzoeken naar gegevens.


Plaats van proxy's voor het omzeilen van Cloudflare

Plaats van proxy's voor het omzeilen van Cloudflare

Als je naar de bovenstaande code kijkt, zie je dat er geen proxy's zijn gebruikt in het hele proces. Je begint je nu af te vragen of je proxy's nodig hebt om Cloudflare te omzeilen. De reden hiervoor is simpel: we sturen maar één verzoek. Als u slechts enkele verzoeken hoeft te verzenden, hoeft u daarvoor geen gebruik te maken van een proxy.

Als je echter veel verzoeken gaat versturen, zoals de meeste bots doen, dan moet je gebruik maken van proxy's.

Dit komt omdat, zoals bij de meeste anti-botsystemen, IP-tracking nog steeds een van de belangrijkste onderdelen van de Cloudflare-service is. En als het te veel verzoeken krijgt van hetzelfde IP-adres, maakt het niet uit of er een bot-footprint is of niet; een dergelijk IP-adres wordt als verdacht beschouwd en als zodanig worden verdere verzoeken geblokkeerd.

We raden je aan om residentiële proxy's te gebruiken om Cloudflare te omzeilen. Enkele van de beste proxyproviders hiervoor zijn Bright Data, Smartproxy en Soax. Als u geen sessies hoeft te onderhouden, is het gebruik van roterende proxy's van deze providers het beste om Cloudflare te omzeilen.


Veelgestelde vragen

V. Beschermen proxy's tegen Cloudflare-blokkades?

Nee dat doen ze niet. Mogelijk ziet u dat sommige proxy's zichzelf op de markt brengen als proxy's om Cloudflare te omzeilen. De realiteit op het terrein is het tegenovergestelde. Proxy's alleen zullen je niet beschermen tegen Cloudflare-blokkades. U moet tools gebruiken die normale gebruikersbrowsers kunnen nabootsen, en dat is waar het gebruik van de niet-gedetecteerde ChromeDriver van pas komt.

Proxy's zijn vereist wanneer u veel verzoeken via Cloudflare moet verzenden en als u geen proxy's gebruikt, loopt u het risico dat hun IP-tracking- en -blokkeersysteem wordt uitgeschakeld. Proxy's zijn in veel gevallen nodig, maar ze zijn niet de enige tools die je nodig hebt om de Cloudflare-bypass te omzeilen.

V. Hoe effectief is Cloudflare in het voorkomen van bots?

Als uw doelwebsite door Cloudflare wordt beschermd, moet u zich echt zorgen maken. Dit komt omdat Cloudflare een aantal interessante cijfers heeft die je bewust zullen maken zonder zelfs maar te proberen ze te omzeilen.

Volgens de beschikbare gegevens merken websites die door Cloudflare worden beschermd een vermindering van 65 procent op in verzoeken voordat Cloudflare wordt ingesteld. Dit is geweldig werk dat Cloudflare daar doet. Het helpt ook websites sneller te laden en minder bandbreedte te gebruiken. Met de juiste technieken en tools kun je het echter nog steeds omzeilen en het minder effectief maken.

Antibotsystemen zoals Cloudflare beschermen websites tegen DDoS-aanvallen en andere vormen van spam. Het omzeilen ervan is niet illegaal, ook al configureren websites ze om hun systemen en databases te beschermen.

Wat u echter doet nadat u ze hebt omzeild, kan u in juridische problemen brengen. Als u alleen uw taken hoeft te automatiseren zonder de website schade toe te brengen door deze te overstelpen met verzoeken, dan bevindt u zich nog steeds binnen het wettelijke kader.

Wij zijn geen bekwame juridische adviseurs en daarom raden we u aan om juridisch advies in te winnen bij bekwame beoefenaars. Niets dat u hier leest, mag worden gezien of opgevat als juridisch advies.


Conclusie

Als botontwikkelaar zijn anti-botsystemen zoals Cloudflare enkele van de nachtmerries waarmee je te maken krijgt, omdat ze je kunnen frustreren. Dit geldt vooral als je geen ervaring hebt om ze te omzeilen.

Als beginner zou je kunnen denken dat het gebruik van Selenium een ​​gemakkelijke uitweg voor je is, aangezien Selenium browsers automatiseert en JS weergeeft.

Cloudflare lijkt echter op selenium gebaseerde bots in handen te hebben gekregen. Met behulp van de niet-gedetecteerde ChromeDriver-tool die in het artikel wordt beschreven, zou u deze zonder problemen moeten kunnen omzeilen.

Doe mee aan het gesprek

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