Obscura est un navigateur headless open source écrit en Rust, conçu pour l'automatisation à grande échelle et le web scraping. Il se distingue par sa légèreté (30 Mo de mémoire contre 200+ Mo pour Chrome headless), sa rapidité (démarrage instantané et chargement de page en 85 ms) et ses fonctionnalités anti-détection intégrées. Compatible avec les outils comme Puppeteer et Playwright via le protocole Chrome DevTools, il permet d'exécuter du JavaScript via V8 et propose des modes de stealth pour contourner les blocages.
Le projet propose des binaires prêts à l'emploi pour Linux, macOS et Windows, ainsi qu'une version cloud en développement pour une utilisation managée. Obscura est distribué sous licence Apache 2.0, sans fonctionnalités restreintes, et peut être compilé depuis les sources avec des options comme le mode stealth pour bloquer les trackers. Les performances et la simplicité d'installation en font une alternative intéressante aux solutions existantes.
Le dépôt GitHub inclut une documentation détaillée pour l'installation, l'utilisation en ligne de commande et l'intégration avec des outils comme Puppeteer, ainsi qu'un système de scraping parallèle pour traiter plusieurs URLs simultanément.
Ce tutoriel explique comment réaliser du web scraping avec une commande Symfony Console, une approche propre et adaptée à la production. L'auteur, Marvelous Akpotu, souligne que le scraping est une tâche longue, susceptible d'échouer, souvent planifiée et automatisée, ce qui en fait une tâche idéale pour les commandes Symfony Console. L'article détaille les étapes pour scraper des données de pays, les parser avec DomCrawler, les trier et les afficher dans un tableau CLI propre. Les packages nécessaires sont symfony/http-client, symfony/dom-crawler et symfony/css-selector. L'auteur met en avant les avantages de cette méthode, comme la séparation des préoccupations, la planification par cron, l'architecture propre, la réutilisabilité et la facilité de refactorisation en jobs asynchrones. Des conseils pour le scraping en production sont également fournis, comme le respect des conditions d'utilisation et du fichier robots.txt, et l'ajout de délais entre les requêtes. Le code source complet est disponible sur GitHub.
Scrapling est un framework de web scraping adaptatif qui gère tout, des requêtes simples aux crawls à grande échelle. Il apprend des changements de site web et relocalise automatiquement les éléments lorsque les pages sont mises à jour. Ses fetchers contournent les systèmes anti-bot comme Cloudflare Turnstile. Le framework de spider permet de réaliser des crawls concurrents, multi-sessions avec pause/reprise et rotation de proxy automatique, le tout en quelques lignes de Python. Il offre des crawls rapides avec des statistiques en temps réel et un streaming. Le projet est open source et disponible sur GitHub.
Gonzalo Ayuso partage un projet d’agent IA personnalisé pour recommander des films, développé avec Python et Strands Agents. L’objectif ? Automatiser le choix de son film du samedi après-midi en croisant les horaires des cinémas locaux (via SadeCines.com), ses notes et préférences personnelles (Letterboxd), ainsi que les critiques (IMDb/Metacritic). L’agent utilise des outils comme un navigateur sandboxé pour scraper le web, un interpréteur de code Python sécurisé pour traiter les données, et des prompts détaillés pour affiner les recommandations selon ses goûts (action, science-fiction, comédie) et exclusions (films familiaux, drames). Le code, simple et basé sur AWS Bedrock, illustre le potentiel des agents multi-outils, même si l’auteur reconnaît un certain over-engineering pour un usage individuel. Le projet, open source, montre comment combiner LLM, scraping et exécution de code de manière sécurisée pour créer un assistant sur mesure.
Tout est dans le titre, sauf que ça se base sur des composants de Symfony
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre, ça cause de fsockopen, cURL, Guzzle, Goutte, et de Symfony Panther
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre