Résumé
L'organisation de recherche consacre du temps à remplacer la collecte manuelle ou ponctuelle de données web par une extraction répétable.
La solution est devenue un scraper configurable qui suit les règles de page, gère le contenu dynamique et exporte des enregistrements structurés.
Le logiciel est conçu pour réduire la collecte manuelle et les extractions incohérentes.
Histoire du client
Le client est une organisation de recherche allemande. Elle collecte des données sur les produits, les annonces et les contacts à partir de sites web publics pour ses travaux de recherche.
La collecte manuelle et ponctuelle fait perdre du temps à l'équipe, notamment lorsque les sites cibles utilisent la pagination, des structures de pages changeantes et des tableaux dynamiques.
La demande était simple : accepter des URL cibles ou des modèles d'URL, des sélecteurs configurables ou des fichiers de configuration, puis renvoyer le contenu sélectionné des sites sous forme d'enregistrements structurés.
La solution a été conçue autour de règles de champs configurables, de l'exploration de plusieurs pages et du rendu via navigateur. Les exécutions planifiées et des journaux clairs favorisent une collecte répétable.
Le client demandait
- Accepter les URL, modèles d'URL, sélecteurs, XPath ou fichiers de configuration
- Extraire le contenu sélectionné sous forme d'enregistrements structurés
- Suivre la pagination entre les pages et les sites web
- Gérer les pages JavaScript, les tableaux dynamiques et le chargement différé
Pourquoi les logiciels prêts à l'emploi ne convenaient pas
Les logiciels d'extraction de données prêts à l'emploi couvrent de nombreux types de sources, tandis que les services de scraping gérés se concentrent sur les API, l'infrastructure de navigateur et les services proxy. Ce client avait besoin de champs, de sélecteurs et de règles de pagination propres au projet. La solution devait également fonctionner en local, inclure une documentation et respecter des exigences de sortie définies.
Présentation du projet
La solution a été conçue autour d'un écran de configuration du scraper, où l'équipe de recherche définit les URL cibles, les champs et les sélecteurs. Les règles de pagination et les formats de sortie sont également disponibles.
Pour gérer différentes structures de pages, le scraper utilise des règles d'extraction configurables pour les champs, le texte visible et les tableaux. Il explore les pages liées et suit la pagination si nécessaire.
Un rendu basé sur navigateur a été fourni pour les pages JavaScript, les tableaux dynamiques et le contenu chargé à la demande. Les pages statiques peuvent utiliser des requêtes HTTP directes et une analyse HTML à la place.
La solution a également été conçue pour fonctionner de manière répétable. Elle s'exécute en ligne de commande ou sur une machine locale, prend en charge la planification et enregistre les échecs ainsi que les nouvelles tentatives.
Les enregistrements collectés peuvent ainsi être exportés en CSV, JSON ou Excel. PostgreSQL, un point de terminaison REST JSON léger et la documentation du projet facilitent leur utilisation par l'équipe cliente.
Fonctionnalités clés fournies
- URL cibles et modèles d'URL configurables
- Éditeur de sélecteurs de champs et de XPath
- Exploration de plusieurs pages et pagination
- Rendu du contenu JavaScript et chargé à la demande
- Export CSV, JSON et Excel
- Limites de débit, délais, nouvelles tentatives et paramètres d'agent utilisateur
- Historique des exécutions et journaux de scraping
- Transmission PostgreSQL ou REST JSON