Web Scraping en Java : Tutoriel d'Exploration Approfondie avec Yahoo Finance

Dans ce tutoriel Java sur le Web scraping, nous aborderons l'exploration en profondeur : une forme avancée de Web scraping. Grâce à une exploration en profondeur, même les sections les plus isolées d’un site Web deviennent accessibles, révélant des données qui pourraient autrement passer inaperçues.

Ce guide complet sur le Web scraping en Java utilisera l'exploration en profondeur avec Java Spring Boot pour explorer le Web. Nous vous aiderons à configurer vos outils, vous expliquerons la différence entre l'exploration superficielle et l'exploration en profondeur et vous montrerons comment extraire des informations de différentes pages Web et les stocker de votre côté.

Pour comprendre la partie codage du scraping Web Java, vous devez avoir une compréhension de base de Java Spring Boot et de la base de données MySQL. Commençons par la création d'un scraper Web en Java.

Sommaire :

  • Comprendre l'exploration en profondeur : la passerelle vers les données Web
  • Pourquoi avez-vous besoin de créer un scraper Web Java
  • Comment faire du Web Scraping en Java
  • Préparer le terrain : préparer votre environnement
  • Simplifiez la configuration du projet Spring Boot avec Spring Initializr
  • Importer le projet de démarrage dans Spring Tool Suite
  • Comprendre le plan directeur de votre projet : un aperçu de la structure du projet
  • Commencer le parcours de codage
  • Exécution du projet et lancement d'une exploration approfondie
  • Analyse des résultats dans la base de données

Comprendre l'exploration en profondeur : la passerelle vers les données Web

L'exploration en profondeur, également connue sous le nom de Web scraping, consiste à fouiller en profondeur sur Internet pour trouver de nombreuses informations précieuses. Fondamentalement, l'exploration en profondeur est une manière intelligente de parcourir les sites Web et de récupérer des informations spécifiques à partir de différentes parties de ces sites.

Lire aussi: Investir dans le DAX : Guide complet

Contrairement à l'exploration superficielle, qui ne regarde que les éléments superficiels, l'exploration en profondeur fouille dans les couches des sites Web pour trouver des trésors de données cachés. Cela nous permet de collecter toutes sortes d'informations, comme les prix des produits, les avis des utilisateurs, les statistiques financières et les articles de presse avec le scraping Web à l'aide de Java.

L'exploration en profondeur nous aide à mettre la main sur un ensemble de données structurées et non structurées que nous ne verrions pas autrement. En explorant soigneusement Internet, nous pouvons recueillir des données qui peuvent aider à la prise de décisions commerciales, soutenir la recherche et susciter de nouvelles idées grâce au scraping Web Java.

Différencier le crawling superficiel et profond

L'exploration superficielle est comme un rapide coup d'œil à la surface d'un étang, en ne voyant que ce qui est visible. Elle ne regarde généralement qu'une petite partie d'un site Web, comme la page principale ou quelques pages importantes. Mais elle passe à côté de beaucoup d'éléments cachés.

D'un autre côté, l'exploration en profondeur est comme une plongée dans les profondeurs de l'océan, explorant chaque recoin. Elle vérifie l'intégralité du site Web, clique sur les liens et trouve des trésors cachés dans différentes sections. L'exploration en profondeur est extrêmement utile pour les entreprises, les chercheurs et les développeurs, car elle permet de récupérer une tonne de données précieuses qui sont autrement difficiles à trouver.

Exploration de la portée et de l'importance du crawling profond

La portée de l'exploration approfondie va bien au-delà de l'extraction de données ; c'est une passerelle vers la compréhension de la dynamique du Web et la découverte d'informations qui orientent la prise de décision. Des plateformes de commerce électronique qui souhaitent surveiller les prix des produits sur les sites concurrents aux organismes de presse qui souhaitent analyser le sentiment à travers des articles, les applications de l'exploration approfondie sont aussi diverses que les données qu'elle révèle.

Lire aussi: Taux de Change : Comprendre l'USD/EUR

Dans le domaine de la recherche, l'exploration approfondie est une sorte de base pour analyser les données afin de comprendre les nouvelles tendances, la façon dont les gens utilisent Internet et le contenu qu'ils aiment. Elle est également importante pour respecter les lois et les règles, car les entreprises doivent réfléchir à la bonne façon de collecter les données et de suivre les règles des sites Web sur lesquels elles les obtiennent.

Obtenez gratuitement l'historique des cours boursiers de Yahoo Finance vers Excel : contournez le...

Pourquoi avez-vous besoin de créer un scraper Web Java

Vous avez besoin d'un web scraper Java pour collecter et exploiter les informations d'un site web. Voici un exemple : Crawlbase Crawler, mais qu'est-ce que c'est exactement Crawlbase Crawler, et comment opère sa magie ?

Quel est Crawlbase Crawler?

Crawlbase Crawler est un outil dynamique d'extraction de données web qui propose une approche moderne et intelligente pour collecter des informations précieuses sur les sites web. Contrairement aux méthodes de scraping traditionnelles qui impliquent des interrogations constantes, Crawlbase Crawler fonctionne de manière asynchrone. Cela signifie qu'il peut traiter de manière indépendante les demandes d'extraction de données et les livrer en temps réel sans nécessiter de surveillance manuelle.

Crawlbase Crawler

Le flux de travail : comment Crawlbase Crawler Fonctionne

Crawlbase Crawler fonctionne selon un flux de travail fluide et efficace qui peut être résumé en quelques étapes clés :

  • Soumission d'URL : En tant qu'utilisateur, vous lancez le processus en soumettant des URL à l' Crawlbase Crawler en utilisant l' Crawling API.
  • Traitement des demandes : Quand vous vous déconnectez, votre profil Crawler reçoit ces requêtes et les traite de manière asynchrone. Cela signifie qu'il peut gérer plusieurs requêtes simultanément sans aucune intervention manuelle.
  • Extraction de données: Quand vous vous déconnectez, votre profil Crawler visite les URL spécifiées, extrait les données demandées et les conditionne pour la livraison.
  • Intégration Webhook : Crawlbase Crawler s'intègre au webhook au lieu de nécessiter une interrogation manuelle. Ce webhook sert de messager qui délivre les données extraites directement au point de terminaison de votre serveur en temps réel.
  • Livraison en temps réel : Les données extraites sont livrées au point de terminaison webhook de votre serveur dès qu'elles sont disponibles, permettant un accès immédiat sans délai.
  • Nouvelles perspectives : En recevant des données en temps réel, vous obtenez un avantage concurrentiel en prenant des décisions éclairées basées sur le contenu Web le plus récent.

Les avantages : pourquoi choisir Crawlbase Crawler

Bien qu'un crawler permette un scraping Web instantané avec Java, il présente également d'autres avantages :

Lire aussi: Yahoo Finance et les marchés financiers

  • Rendement : Le traitement asynchrone élimine le besoin de surveillance continue, libérant ainsi vos ressources pour d’autres tâches.
  • Informations en temps réel : Recevez les données dès qu'elles sont disponibles, ce qui vous permet de rester au courant des tendances et des changements.
  • Flux de travail rationalisé : L'intégration Webhook remplace l'interrogation manuelle, simplifiant ainsi le processus de livraison des données.
  • Prise de décision en temps opportun : L'accès instantané aux données fraîchement extraites permet une prise de décision rapide et basée sur les données.

Pour accéder Robot d'exploration Web Java, vous devez le créer dans votre Crawlbase tableau de bord de compte. Vous pouvez opter pour le TCP ou le JavaScript Crawler en fonction de vos besoins spécifiques. Le TCP Crawler est idéal pour les pages statiques, tandis que le JavaScript Crawler convient au contenu généré via JavaScript, comme dans les pages créées avec JavaScript ou le contenu de navigateur rendu dynamiquement. Lisez ici pour en savoir plus sur Crawlbase Crawler.

Lors de la création, il vous sera demandé de fournir l'adresse de votre webhook. Nous le créerons donc après avoir réussi à créer un webhook dans notre projet Spring Boot. Dans la section suivante, nous approfondirons le codage et développerons le composant requis pour terminer notre projet.

Comment faire du Web Scraping en Java

Suivez les étapes ci-dessous pour apprendre le scraping Web en Java.

Préparer le terrain : préparer votre environnement

Avant de nous lancer dans l'exploration approfondie, il est important de préparer le terrain pour réussir. Cette section vous guide à travers les étapes essentielles pour garantir que votre environnement de développement est prêt à relever les défis passionnants à venir.

Installation de Java sur Ubuntu et Windows

Java est l'épine dorsale de notre processus de développement et nous devons nous assurer qu'il est disponible sur notre système. Si Java n'est pas installé sur votre système, vous pouvez suivre les étapes ci-dessous en fonction de votre système d'exploitation.

Installation de Java sur Ubuntu :

  1. Ouvrez le Terminal en appuyant sur Ctrl + Alt + T.
  2. Exécutez la commande suivante pour mettre à jour la liste des packages :
    sudo mise à jour apt
  3. Installez le kit de développement Java (JDK) en exécutant :
    sudo apt installe le jdk par défaut
  4. Vérifiez l’installation du JDK en tapant :
    java -version

Installation de Java sous Windows :

  1. Visitez le site officiel Oracle site Web et téléchargez le dernier kit de développement Java (JDK).
  2. Suivez les instructions de l'assistant d'installation pour terminer l'installation. Une fois l'installation terminée, vous pouvez la vérifier en ouvrant l'invite de commande et en saisissant :
    java -version

Installation de Spring Tool Suite (STS) sur Ubuntu et Windows :

Spring Tool Suite (STS) est un environnement de développement intégré (IDE) spécialement conçu pour développer des applications à l'aide de Spring Framework, un framework Java populaire pour la création d'applications de niveau entreprise. STS fournit des outils, des fonctionnalités et des plugins qui améliorent l'expérience de développement lorsque vous travaillez avec des projets basés sur Spring ; suivez les étapes ci-dessous pour les installer.

  1. Visitez le site Web officiel de Spring Tool Suite à l'adresse spring.io/outils.
  2. Téléchargez la version appropriée de Spring Tool Suite pour votre système d'exploitation (Ubuntu ou Windows).

Sur Ubuntu :

  1. Après le téléchargement, accédez au répertoire où se trouve le fichier téléchargé dans le Terminal.
  2. Extraire l'archive téléchargée:
    tar-xvf spring-tool-suite- - .tar.gz
  3. Déplacez le répertoire extrait vers un emplacement de votre choix :
    mv sts- /votre_chemin_de_désir/

Sur Windows:

  1. Exécutez le programme d'installation téléchargé et suivez les instructions à l'écran pour terminer l'installation.

Installation de MySQL sur Ubuntu et Windows

La mise en place d'un système de gestion de base de données fiable est primordiale pour démarrer votre parcours vers l'exploration approfondie et l'extraction de données Web. MySQL, une base de données relationnelle open source populaire, fournit la base pour stocker et gérer en toute sécurité les données que vous collecterez grâce à vos efforts d'exploration. Voici un guide étape par étape sur la façon d'installer MySQL sur les plates-formes Ubuntu et Windows :

Installation de MySQL sur Ubuntu :

  1. Ouvrez un terminal et exécutez les commandes suivantes pour vous assurer que votre système est à jour :
    sudo mise à jour aptsudo mise à niveau apt
  2. Exécutez la commande suivante pour installer le package du serveur MySQL :
    sudo apt installer mysql-server
  3. Après l'installation, démarrez le service MySQL :
    sudo systemctl démarre mysql.service
  4. Vérifiez si MySQL est en cours d'exécution avec la commande :
    sudo état systemctl mysql

Installation de MySQL sous Windows :

  1. Visitez le site officiel Site Web MySQL et téléchargez le programme d'installation MySQL pour Windows.
  2. Exécutez le programme d'installation téléchargé et choisissez le type d'installation « Developer Default ». Cela installera MySQL Server et d'autres outils associés.
  3. Lors de l'installation, il vous sera demandé de configurer le serveur MySQL. Définissez un mot de passe root fort et mémorisez-le.
  4. Suivez les instructions du programme d’installation pour terminer l’installation.
  5. Après l'installation, MySQL devrait démarrer automatiquement. Vous pouvez également le démarrer manuellement à partir de l'application « Services » de Windows.

Vérification de l'installation de MySQL :

Quelle que soit votre plateforme, vous pouvez vérifier l'installation de MySQL en ouvrant un terminal ou une invite de commande et en entrant la commande suivante :

mysql -u root -p

Vous serez invité à saisir le mot de passe root MySQL que vous avez défini lors de l'installation. Dans l'étape suivante, nous vous guiderons dans la création d'un projet de démarrage Spring Boot, préparant le terrain pour vos efforts d'exploration en profondeur. Plongeons dans cette phase passionnante du voyage !

Simplifiez la configuration du projet Spring Boot avec Spring Initializr

Imaginez que la configuration d'un projet Spring Boot soit comme naviguer dans un labyrinthe complexe de paramètres. Mais ne vous inquiétez pas, Initialisation du ressort est là pour vous aider ! C'est comme avoir un assistant intelligent en ligne qui rend le processus beaucoup plus facile. Vous pourriez le faire manuellement, mais c'est comme un puzzle qui prend beaucoup de temps. Spring Initializr vient à la rescousse en rendant les choses plus fluides dès le début. Suivez les étapes suivantes pour créer un projet Spring Boot avec Spring Initializr.

  1. Accéder au site Web Spring Initializr
    Ouvrez votre navigateur Web et accédez au site Web Spring Initializr. Vous pouvez le trouver à l'adresse start.spring.io.
  2. Choisissez les détails de votre projet
    C'est ici que vous faites des choix importants pour votre projet. Vous devez choisir le type de projet et la langue que vous allez utiliser. Nous devons choisir Maven en tant que type de projet et JAVA comme langue. Pour la version Spring Boot, optez pour une version stable (comme la 3.1.2). Ensuite, ajoutez des détails sur votre projet, comme son nom et son sujet. C'est facile : il suffit de suivre l'exemple de l'image.
  3. Ajoutez des trucs sympas
    Il est temps d'ajouter des fonctionnalités spéciales à votre projet ! C'est comme lui donner des super pouvoirs. Incluez Spring Web (important pour les projets Spring Boot), Spring Data JPA et le pilote MySQL si vous envisagez d'utiliser une base de données. N'oubliez pas Lombok, c'est comme un outil magique qui fait gagner du temps. Nous en parlerons plus en détail da...

Outils nécessaires pour scraper Yahoo Finance (Python + Crawlbase)

Yahoo Finance est l'une des plateformes les plus populaires pour suivre les cours des actions, l'actualité financière et les données des entreprises. Avec plus de 335 millions d'utilisateurs mensuels, c'est une source précieuse d'informations structurées et fiables. données financières en temps réel.

Une fois Python Une fois installé et que vous avez choisi votre IDE préféré, il est temps d'installer les outils nécessaires pour récupérer les données de Yahoo Finance. Les commandes suivantes installeront Crawlbase Bibliothèque Python et Beautifulsoup4

Pour installer un package, ouvrez simplement votre invite de commande (Windows) ou votre terminal (macOS/Linux), créez un répertoire dans lequel vous souhaitez stocker votre code Python et utilisez la commande pip pour installer les packages comme indiqué ci-dessous :

pip installe crawlbasepip installer beautifulsoup4

Étape par étape : comment récupérer des données sur une page Yahoo Finance

Il est maintenant temps d'écrire notre code. Nous allons d'abord écrire un code pour explorer l'intégralité du code source HTML de notre page web cible. Dans cette étape, nous utiliserons le Crawlbase paquet.

Commencez par ouvrir votre éditeur de texte ou IDE préféré et créez un nouveau fichier Python. Vous pouvez à nouveau accéder à votre console et saisir la commande ci-dessous :

scraper python.py

En cas de succès, vous recevrez une réponse similaire à celle-ci :

Pour cette section, nous allons maintenant nous concentrer sur l'extraction du contenu du code source HTML que nous avons obtenu en explorant la page Web financière de Yahoo. Nous devons commencer par appeler la bibliothèque Beautiful Soup pour analyser le code HTML et le présenter au format JSON.

à partir de crawlbase, importer CrawlingAPIde bs4 import BeautifulSoup

Ensuite, nous devrons rechercher les données que nous souhaitons extraire. Recherchez le nom de l'entreprise ou le Titre Premièrement. Vous devrez inspecter la structure de la page Web à l'aide des outils de développement du navigateur ou en affichant la source de la page en mettant en surbrillance le titre, en cliquant avec le bouton droit de la souris et en sélectionnant l'option « Inspecter ».

Une fois que vous avez la ligne pour l'élément de titre, utilisez simplement le sélecteur BeautifulSoup pour extraire les données. Voici comment vous pouvez écrire le code :

def gratter_les_données(RAPIDE): Essai: soupe = BeautifulSoup(réponse['corps'], 'html.parser') titre = soup.select_one('div.hdr h1').texte.strip() if soupe.select_one('div.hdr h1') d'autre Aucun retourner {'Titre': titre}sauf Exception as e: impression(f"Une erreur s'est produite lors du scraping : {e}") retourner {}

Le code commence par essayer d'analyser le contenu HTML de la page Web. Il utilise le constructeur BeautifulSoup, en passant le contenu HTML (response['body']) et le type d'analyseur ('html.parser').

À l'intérieur de l' try bloc, la fonction tente d'extraire des données spécifiques du code HTML analysé. Elle essaie de trouver un <h1> élément avec un nom de classe 'svelte-ufs8hf' en utilisant l' select_one méthode fournie par Beautiful Soup.

Une fois l'élément trouvé, il récupère le contenu textuel de l' <h1> élément et l'affecte à la variable title. Si le <h1> l'élément n'est pas trouvé, title est fixé à None.

En cas d'erreur, il imprime un message d'erreur sur la console et renvoie un dictionnaire vide en guise de solution de secours.

Récupération des cours des actions de Yahoo Finance

Les prochaines données pertinentes que nous souhaitons extraire pour la page Web financière de Yahoo sont le prix de négociation le plus récent d'un actif financier ou simplement le Prix

Commencez par mettre en surbrillance le prix et inspectez-le comme indiqué dans l'image ci-dessous :

Écrivez le code pour extraire l’élément Price :

def gratter_les_données(RAPIDE): Essai: soupe = BeautifulSoup(réponse['corps'], 'html.parser') prix = soup.select_one('.livePrice[data-testid="qsp-price"]').texte.strip() if soupe.select_one('.livePrice[data-testid="qsp-price"]') d'autre Aucun retourner {'prix': prix}sauf Exception as e: impression(f"Une erreur s'est produite lors du scraping : {e}") retourner {}

Comme le code ci-dessus, cela nous permettra d'extraire l'élément spécifique du code source HTML complet et de supprimer toutes les données non pertinentes pour notre projet.

Grattage des indicateurs de variation de prix (haut/bas)

Notre prochaine donnée cible serait la variation de prix. Cette valeur représente la variation du prix d'un actif financier, comme une action, par rapport à sa clôture précédente.

Encore une fois, mettez simplement en surbrillance le prix de modification et obtenez le sélecteur approprié pour l'élément.

balises: #Financ

Articles populaires: