Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Botasaurus - Le scraper qui rend Cloudflare aussi facile à contourner qu'un CAPTCHA de 2005

Hey les scrapers de l’espace là, vous en avez marre de vous battre contre Cloudflare comme si c’était le boss final d’un Dark Souls ? Et bien sûr, vous avez testé Selenium et Playwright mais vos bots se font démasquer plus vite qu’un menteur à l’Assemblée Nationale ? Alors ça tombe bien car j’ai trouvé votre nouveau meilleur ami, et il s’appelle Botasaurus.

Derrière ce nom de dinosaure se cache un framework Python open source, conçu pour le scraping web moderne. Créé par Omkar Cloud, il promet de faire passer vos bots pour des humains plus vrais que nature.

La première chose avec Botasaurus, c’est sa capacité à contourner les protections anti-bot. Il passe notamment la barrière de Cloudflare avec brio mais pas seulement, puisqu’il gère aussi très bien PerimeterX, BrowserScan, Fingerprint Bot Detection, et même les CAPTCHA Turnstile. Le créateur du framework a même publié une vidéo où il contourne tous ces systèmes en live. La grande classe !

Concernant Datadome, il semble cependant galérer encore un peu d’après les retours que j’ai eu.

Ce qui démarque Botasaurus, c’est surtout son approche “humane driver” car au lieu d’utiliser bêtement Selenium ou Playwright, le framework ajoute une couche d’humanisation qui simule des mouvements de souris réalistes, des temps de pause naturels, et même des patterns de navigation qui imitent un vrai utilisateur. Du coup vos bots passent incognito avec du style ^^.

Ce framework permet même d’économiser jusqu’à 97% sur les coûts de proxy. Comment ? Et bien en utilisant des requêtes fetch basées sur le navigateur au lieu de lancer un navigateur complet pour chaque requête. C’est malin et ça fait une sacrée différence sur la facture à la fin du mois.

Pour l’installation, c’est du Python classique :

python -m pip install --upgrade botasaurus

Et voici un exemple simple pour scraper un site :

from botasaurus.browser import browser, Driver

@browser
def scrape_heading_task(driver: Driver, data):
# Visite le site via Google Referrer (pour bypass Cloudflare)
driver.google_get(data['url'])

# Récupère le texte du titre
heading = driver.get_text('h1')

return {"heading": heading}

# Lance le scraping
scrape_heading_task()

Ce décorateur @browser gère automatiquement tout le setup du navigateur, les anti-détections, et même la sauvegarde des résultats en JSON. Comme ça, pas besoin de se prendre la tête avec la configuration.

Et pour les cas où vous avez besoin de contourner du Cloudflare plus agressif, il suffit d’ajouter un paramètre comme ceci :

driver.google_get(url, bypass_cloudflare=True)

D’après les benchmarks de ScrapingAnt, Botasaurus est plus furtif qu’undetected-chromedriver et puppeteer-stealth. C’est dire le niveau de sophistication atteint.

Un autre point fort de Botasaurus, c’est également la possibilité de transformer votre scraper en application desktop. En une journée, vous pouvez créer une app pour Windows, Mac et Linux avec une interface graphique complète. C’est génial, car ça vous éviter d’expliquer à vos clients comment lancer un script Python. Ils ont juste une app sur laquelle double-cliquer.

Le framework inclut aussi un serveur web intégré qui permet de créer une UI pour vos scrapers comme ça, avec quelques lignes de JavaScript, vous pouvez définir des formulaires d’input, des filtres, des exports en CSV/Excel, et même une API REST pour intégrer votre scraper ailleurs.

Ce framework brille donc particulièrement pour tout ce qui est :

  • Les sites avec protection Cloudflare basique à modérée
  • Le scraping local ou sur VPS avec peu de volume
  • La création rapide de scrapers avec UI
  • Les projets où l’anti-détection prime sur la performance pure

Par contre, pour du scraping massif à grande échelle ou contre des protections enterprise ultra-sophistiquées, vous devrez probablement combiner Botasaurus avec d’autres outils ou services.

Bref, c’est à tester !

Servy - Transformez n'importe quel .exe en service Windows

Un scénario classique en entreprise c’est un script Python de synchronisation qui doit tourner sous Windows et qui se barre en erreur à chaque redémarrage. Le coupable c’est ce fichu service Windows qui s’obstine à chercher sa configuration dans C:\Windows\System32 plutôt que dans le répertoire de l’application. Du coup, ça prend 3 heures de débogage pour un problème vieux comme Windows NT et ça c’est moche !

Car le problème avec les services Windows, c’est qu’ils sont coincés dans les années 90. La commande sc create ne fonctionne qu’avec des applications spécialement conçues pour être des services. Et NSSM est puissant mais avec une interface en ligne de commande cryptique et des éditions du registre à la main. Et le pire dans tout ça, c’est ce fameux répertoire de travail bloqué sur System32 qui fait planter la moitié des applications qui dépendent de chemins relatifs.

La bonne nouvelle c’est qu’il existe Servy qui débarque comme une bouffée d’air frais dans cet écosystème poussiéreux. Développé entièrement en C# par Aelassas, ce petit outil open source fait exactement ce qu’on attend de lui à savoir transformer n’importe quel executable en service Windows, avec une vraie interface graphique moderne et surtout, la possibilité de définir ce foutu répertoire de travail.

Pour l’utiliser, il vous suffit de télécharger la dernière release sur GitHub, de le décompresser, et de lancez Servy.exe. L’interface est claire… nom du service, description, chemin de l’exe, working directory (enfin !), paramètres de démarrage, et c’est parti. En 30 secondes, votre application Node.js, votre script Python ou votre serveur web tournera alors comme un vrai service Windows.

Et les fonctionnalités de Servy vont bien au-delà du simple lancement puisqu’il intègre des health checks configurables avec intervalle personnalisé (30 secondes par défaut) et un nombre d’échecs tolérés avant action. Le système de recovery gère comme un chef le redémarrage du service, du processus, ou même de la machine complète selon vos besoins. Et pour éviter les boucles infinies, vous pouvez bien sûr limiter le nombre de tentatives de redémarrage.

La gestion des logs est également un autre point fort de Servy puiqu’il peut rediriger automatiquement stdout et stderr vers des fichiers avec rotation automatique basée sur la taille. Comme ça, plus besoin de scripts batch complexes ou de solutions tierces pour capturer les sorties de vos applications console. Tout est géré proprement, avec des logs organisés et consultables.

Selon le guide Windows Services Manager, accéder aux services Windows reste toujours aussi archaïque : Win+R, services.msc, + Entrée. Heureusement, avec Servy, tout se fait depuis son interface. Vous pouvez démarrer, arrêter, mettre en pause, redémarrer vos services, modifier leur priorité (Real-time, High, Normal, Low), et même définir le type de démarrage (Automatic, Manual, Disabled).

Un détail qui fait la différence avec d’autres outils du même genre, c’est la prévention des processus zombies. Hé oui, Servy se la joue comme dans Walking Dead et gère proprement le cycle de vie des processus enfants, s’assurant qu’aucun processus orphelin ne traîne après l’arrêt d’un service. C’est le genre de conneries qu’on découvre généralement après plusieurs semaines de production, quand le serveur commence à ramer sans raison apparente.

Et ça tourne aussi bien de Windows 7 SP1 jusqu’à Windows 11, en passant par toutes les versions Server. Et surtout, le code source complet est disponible sur GitHub sous licence MIT.

Bref, c’est un super outil gratuit, open source, avec une interface bien pensée, et toutes les fonctionnalités dont on rêvait sans le côté usine à gaz !!

Pour les entreprises, c’est une solution idéale pour déployer des applications métier sans les réécrire, avoir à se former sur NSSM ou de maintenir des scripts PowerShell complexes. Cet outil permet de réduire les coûts de maintenance et les erreurs humaines. Bref, c’est un logiciel qui devrait être dans la boîte à outils de tout les admins Windows qui se respectent.

GmailTail - Un tail -f sur votre Gmail comme un vrai geek qui se respecte !

Vous savez ce qui manquait le plus à ma vie ??? La possibilité de faire un bon vieux tail -f sur ma boîte Gmail !!

Et mon rêve vient de se réaliser puisqu’un développeur qui s’appelle c4pt0r a eu exactement cette idée et a créé GmailTail, un outil qui va faire kiffer tous les barbus qui vivent dans leur terminal !

En gros, GmailTail c’est un outil en ligne de commande qui transforme votre boîte Gmail en un flux qu’on peut surveiller en temps réel, exactement comme quand vous faites un tail -f sur vos logs système. Sauf que là, au lieu de voir défiler des erreurs Apache, vous voyez arriver vos emails en format JSON. Et c’est génial pour plein de trucs, vous allez voir !

❌