Récupération de données avec DevTools et fichiers HAR
Le data scraping change la donne pour tous ceux qui cherchent à extraire des informations significatives à partir de sites Web. Avec des outils tels que Chrome DevTools et les fichiers HAR, vous pouvez découvrir des API cachées et capturer des flux de données précieux sans effort. Dans cet article, je vais partager comment j'ai utilisé ces outils pour extraire les données produit de Blinkit, une plateforme de livraison d'épicerie, et vous montrer comment vous pouvez le faire également.
Pourquoi j'ai choisi le Data Scraping pour mon application d'épicerie
Lors de la création d'une application de livraison de courses, j'ai été confronté à un défi majeur : le manque de données réelles. Créer mon propre ensemble de données à partir de zéro aurait pris beaucoup de temps et n'aurait apporté aucun réel avantage au projet. J'avais besoin d'une solution plus rapide et plus pratique, ce qui m'a amené à l'idée de récupérer des données. En extrayant les détails du produit de Blinkit, j'ai pu obtenir des données précises et réelles pour tester et affiner mon application sans gaspiller de ressources.
Méthodes courantes pour récupérer des données sur le Web
-
Copier-Coller manuel
- Simple mais fastidieux. Convient pour extraire de petites quantités de données.
-
Outils de scraping Web
- Des outils comme Scrapy, BeautifulSoup ou Puppeteer automatisent le processus d'extraction de données à partir de sites Web.
- Idéal pour l'extraction de données structurées à plus grande échelle.
-
Intégration API
- Certains sites Web proposent des API publiques pour accéder à leurs données directement et légalement.
- Nécessite une connaissance des points de terminaison de l'API et des processus d'authentification.
-
Outils de développement du navigateur
- Inspectez les requêtes réseau, capturez des fichiers HAR ou analysez les éléments de la page directement dans le navigateur.
- Idéal pour identifier les API cachées ou les données JSON.
-
Navigateurs sans tête
- Utilisez des bibliothèques de navigateur sans tête comme Puppeteer ou Selenium pour automatiser la navigation et le scraping.
- Idéal pour les sites nécessitant un rendu ou une interaction JavaScript.
-
Analyse des fichiers HAR
- Les fichiers HAR capturent toute l'activité réseau d'une page Web. Ils peuvent être analysés pour extraire des API, des réponses JSON ou d'autres données.
- Utile pour les sites avec du contenu dynamique ou des données cachées.
-
Analyse HTML
- Extrayez des données en analysant le contenu HTML à l'aide de bibliothèques comme BeautifulSoup (Python) ou Cheerio (Node.js).
- Efficace pour les sites Web simples et statiques.
-
Extraction de données à partir de PDF ou d'images
- Des outils tels que PyPDF2, Tesseract (OCR) ou les API Adobe permettent d'extraire le texte des fichiers lorsque les données ne sont pas disponibles en ligne.
-
Scripts automatisés
- Scripts personnalisés écrits en Python, Node.js ou des langages similaires pour récupérer, analyser et stocker des données.
- Offre un contrôle complet sur le processus de grattage.
-
API tierces
- Utilisez des services tels que DataMiner, Octoparse ou Scrapy Cloud pour gérer les tâches de scraping à votre place.
- Gain de temps mais peut avoir des limites en fonction des plans de service.
J'ai choisi l'analyse de fichiers HAR
Qu'est-ce qu'un fichier HAR ?
Un fichier HAR (HTTP Archive) est un fichier d'archive au format JSON qui enregistre l'activité réseau d'une page Web. Il contient des informations détaillées sur chaque requête et réponse HTTP, notamment les en-têtes, les paramètres de requête, les charges utiles et les délais. Les fichiers HAR sont souvent utilisés pour le débogage, l'analyse des performances et, dans ce cas, le grattage de données.
Structure d'un fichier HAR
Un fichier HAR se compose de plusieurs sections, les principales étant :
-
Journal
- L'objet racine d'un fichier HAR, contenant des métadonnées sur la session enregistrée et les entrées capturées.
-
Entrées
- Un tableau d'objets où chaque entrée représente une requête HTTP individuelle et sa réponse correspondante.
Les propriétés clés incluent :
- request : détails sur la requête, tels que l'URL, les en-têtes, la méthode et les paramètres de requête.
- réponse : informations sur la réponse, y compris le code d'état, les en-têtes et le contenu.
- timings : la répartition du temps passé pendant le cycle requête-réponse (par exemple, DNS, connexion, attente, réception).
-
Pages
- Contient des données sur les pages Web chargées pendant la session, telles que le titre de la page, l'heure de chargement et l'horodatage de l'ouverture de la page.
-
Créateur
- Métadonnées sur l'outil ou le navigateur utilisé pour générer le fichier HAR, y compris son nom et sa version.
Pourquoi j'ai choisi l'analyse de fichiers HAR
Les fichiers HAR fournissent un instantané complet de toutes les activités réseau sur une page Web. Cela les rend parfaits pour identifier les API cachées, capturer les charges utiles JSON et extraire les données exactes requises pour le scraping. Le format JSON structuré simplifie également le processus d'analyse à l'aide d'outils tels que les bibliothèques Python ou JavaScript.
Le plan : récupérer des données à l'aide de l'analyse de fichiers HAR
Pour extraire efficacement les données produit de Blinkit, j'ai suivi un plan structuré :
-
Parcourir et capturer l'activité du réseau
- J'ai ouvert le site de Blinkit et lancé Chrome DevTools.
- Parcouru diverses pages de produits pour capturer tous les appels API nécessaires dans l'onglet Réseau.
-
Exportation du fichier HAR
- Enregistré l'activité réseau enregistrée sous forme de fichier HAR pour une analyse hors ligne.
-
Analyse du fichier HAR
- Utilisation de Python pour analyser le fichier HAR et extraire les données pertinentes.
- Création de trois fonctions clés pour rationaliser le processus :
-
Fonction 1 : Filtrer les réponses pertinentes
- Extrait toutes les réponses correspondant au point de terminaison /listing?catId=* pour obtenir des données relatives au produit.
-
Fonction 2 : Nettoyer et extraire les données
- Traitement des réponses filtrées pour extraire les champs clés tels que l'identifiant, le nom, la catégorie, etc.
-
Fonction 3 : Enregistrer les images localement
- Identifié toutes les URL d'images de produits dans les données et téléchargées dans des fichiers locaux pour référence.
-
Exécution et résultats
- L'ensemble du processus, y compris quelques essais et erreurs, a pris environ 30 à 40 minutes.
- Récupération réussie des données d'environ 600 produits, y compris les noms, les catégories et les images.
Cette approche m'a permis de rassembler les données nécessaires à mon application de livraison d'épicerie rapidement et efficacement.
Conclusion
Le data scraping, lorsqu'il est effectué efficacement, peut vous faire gagner beaucoup de temps et d'efforts, en particulier lorsque vous avez besoin de données réelles pour tester ou créer une application. En tirant parti de Chrome DevTools et des fichiers HAR, j'ai pu extraire rapidement des données produit précieuses de Blinkit sans créer manuellement un ensemble de données. Le processus, bien que nécessitant quelques essais et erreurs, était simple et offrait une solution pratique à un problème courant rencontré par les développeurs. Avec cette méthode, j'ai pu rassembler 600 détails sur les produits en moins d'une heure, ce qui m'a aidé à avancer dans mon projet d'application de livraison de courses.
Le grattage de données, cependant, doit toujours être abordé de manière éthique et responsable. Assurez-vous toujours de respecter les conditions d’utilisation et les directives légales d’un site Web avant de le supprimer. S'il est bien fait, le scraping peut être un outil puissant pour collecter des données et améliorer vos projets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Python est plus facile à apprendre et à utiliser, tandis que C est plus puissant mais complexe. 1. La syntaxe Python est concise et adaptée aux débutants. Le typage dynamique et la gestion automatique de la mémoire le rendent facile à utiliser, mais peuvent entraîner des erreurs d'exécution. 2.C fournit des fonctionnalités de contrôle de bas niveau et avancées, adaptées aux applications haute performance, mais a un seuil d'apprentissage élevé et nécessite une gestion manuelle de la mémoire et de la sécurité.

Est-ce suffisant pour apprendre Python pendant deux heures par jour? Cela dépend de vos objectifs et de vos méthodes d'apprentissage. 1) Élaborer un plan d'apprentissage clair, 2) Sélectionnez les ressources et méthodes d'apprentissage appropriées, 3) la pratique et l'examen et la consolidation de la pratique pratique et de l'examen et de la consolidation, et vous pouvez progressivement maîtriser les connaissances de base et les fonctions avancées de Python au cours de cette période.

Python est meilleur que C dans l'efficacité du développement, mais C est plus élevé dans les performances d'exécution. 1. La syntaxe concise de Python et les bibliothèques riches améliorent l'efficacité du développement. Les caractéristiques de type compilation et le contrôle du matériel de CC améliorent les performances d'exécution. Lorsque vous faites un choix, vous devez peser la vitesse de développement et l'efficacité de l'exécution en fonction des besoins du projet.

Python et C ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1) Python convient au développement rapide et au traitement des données en raison de sa syntaxe concise et de son typage dynamique. 2) C convient à des performances élevées et à une programmation système en raison de son typage statique et de sa gestion de la mémoire manuelle.

PythonlistSaReparmentofthestandardLibrary, tandis que les coloccules de colocède, tandis que les colocculations pour la base de la Parlementaire, des coloments de forage polyvalent, tandis que la fonctionnalité de la fonctionnalité nettement adressée.

Python excelle dans l'automatisation, les scripts et la gestion des tâches. 1) Automatisation: La sauvegarde du fichier est réalisée via des bibliothèques standard telles que le système d'exploitation et la fermeture. 2) Écriture de script: utilisez la bibliothèque PSUTIL pour surveiller les ressources système. 3) Gestion des tâches: utilisez la bibliothèque de planification pour planifier les tâches. La facilité d'utilisation de Python et la prise en charge de la bibliothèque riche en font l'outil préféré dans ces domaines.

Les applications de Python en informatique scientifique comprennent l'analyse des données, l'apprentissage automatique, la simulation numérique et la visualisation. 1.Numpy fournit des tableaux multidimensionnels et des fonctions mathématiques efficaces. 2. Scipy étend la fonctionnalité Numpy et fournit des outils d'optimisation et d'algèbre linéaire. 3. Pandas est utilisé pour le traitement et l'analyse des données. 4.Matplotlib est utilisé pour générer divers graphiques et résultats visuels.

Les applications clés de Python dans le développement Web incluent l'utilisation des cadres Django et Flask, le développement de l'API, l'analyse et la visualisation des données, l'apprentissage automatique et l'IA et l'optimisation des performances. 1. Framework Django et Flask: Django convient au développement rapide d'applications complexes, et Flask convient aux projets petits ou hautement personnalisés. 2. Développement de l'API: Utilisez Flask ou DjangorestFramework pour construire RestulAPI. 3. Analyse et visualisation des données: utilisez Python pour traiter les données et les afficher via l'interface Web. 4. Apprentissage automatique et AI: Python est utilisé pour créer des applications Web intelligentes. 5. Optimisation des performances: optimisée par la programmation, la mise en cache et le code asynchrones
