Si votre projet implique des données financières telles que des actualités, des rapports, des cours boursiers ou tout ce qui concerne la gestion financière, Yahoo Finance reste un choix de premier ordre pour l'extraction de données. Avec plus de 335 millions de visiteurs en mars 2024, il est clairement leader par rapport à d'autres acteurs établis du marché comme USA Today (203 millions), Business Insider (154 millions) et Bloomberg (67 millions).

Vous êtes prêt à automatiser votre collecte de données à partir de Yahoo Finance ? Cet article vous guidera tout au long du processus, étape par étape. Nous vous montrerons exactement comment utiliser l'API Crawlbase avec Python pour créer un scraper puissant et efficace. Suivez-nous et découvrez à quel point cela peut être simple.
Voici une courte vidéo expliquant comment extraire des données financières de Yahoo Finance:
Table des matières
2. Conditions préalables à l'extraction de données financières
3. Installation des dépendances
4. Récupération de la page Web Yahoo Finance
5. Récupération du titre à partir du code HTML de Yahoo Finance à l'aide de bs4
6. Comment faire baisser les prix financiers
7. Annulation du changement de prix
8. Récupération du statut Market Time sur Yahoo Finance
9. Complétez le Yahoo Finance Scraper
1. Portée du projet
La portée de ce projet comprend le développement d'un outil de scraping Web utilisant le langage de programmation Python, Crawlbase. Crawling API, et la bibliothèque BeautifulSoup. Notre objectif principal est d'extraire des données spécifiques à partir de pages Web hébergées sur le Yahoo Finance site Web et présentation des informations dans un format clair, en se concentrant sur les informations boursières telles que les noms des sociétés, les cours des actions, les changements et les dates de clôture.
Objectifs de l'extraction de données financières de Yahoo
Développement d'outils de Web Scraping : Mettre en place un Python Outil de scraping Web capable d'extraire des données de pages Web ciblées sur Yahoo Finance et de présenter les données extraites dans un format lisible. Notre site cible s'appuie sur AJAX pour charger et mettre à jour les données de manière dynamique, nous aurons donc besoin d'un outil capable de traiter JavaScript.
Intégration de l'API Crawlbase : Intégrer le Crawling API dans l'outil de scraping pour avoir une récupération plus efficace du contenu HTML des pages Web cibles. Crawling API sera utilisé pour charger et traiter du contenu dynamique en utilisant ses capacités de rendu JavaScript et en même temps éviter tout blocage IP potentiel et CAPTCHA.
Analyse des données : Utiliser BeautifulSoup bibliothèque pour analyser le contenu HTML, supprimer les informations indésirables et extraire des données propres et pertinentes avec des sélecteurs précis.
Exportation de données : Exportez les données extraites dans un format structuré, notamment JSON, pour une analyse et une utilisation ultérieures.
Ce guide vous fournira les connaissances nécessaires pour créer un scraper Web pour les données boursières de Yahoo Finance. Avec ce projet, vous pouvez débloquer des informations précieuses que vous pouvez utiliser à diverses fins, telles que des études de marché, des analyses, etc.
2. Conditions préalables à l'extraction de données financières
En tant que bonne pratique pour les développeurs, nous devrions toujours commencer par discuter des exigences du projet. Nous devons connaître les éléments essentiels avant de passer à la phase de codage proprement dite. Voici donc les bases importantes de ce projet :
Connaissances de base de Python
Étant donné que nous utiliserons Python et Beautifulsoup, il est naturel que vous ayez une compréhension de base du langage de programmation Python. Si c'est votre première fois, nous vous encourageons à vous inscrire à des cours de base ou au moins à regarder des didacticiels vidéo et à faire quelques exercices de codage de base avant de tenter de créer votre propre scraper.
Python installé
Si Python n'est pas déjà installé sur votre système, rendez-vous sur le site officiel Site Web Python et téléchargez la dernière version. Suivez les instructions d'installation fournies pour configurer Python sur votre machine.
À propos des IDE
Il existe plusieurs environnements de développement intégrés (IDE) disponibles pour Python que vous pouvez utiliser pour ce projet, chacun avec ses propres fonctionnalités et avantages. Voici quelques options populaires :
PyCharme : Développé par JetBrains, PyCharm est un IDE puissant et riche en fonctionnalités avec des fonctions intelligentes de saisie semi-automatique du code, d'analyse du code et de débogage. Il est disponible en deux éditions : Community (gratuite) et Professional (payante).
Code Visual Studio (code VS) : Développé par Microsoft, Code VS est un IDE léger mais puissant avec un support étendu pour le développement Python via des extensions. Il offre des fonctionnalités telles qu'IntelliSense, le débogage et l'intégration Git intégrée.
Laboratoire Jupyter : laboratoire jupyter est un environnement de développement interactif qui vous permet de créer et de partager des documents contenant du code en direct, des équations, des visualisations et du texte narratif. Il est particulièrement adapté aux projets axés sur la science des données et la recherche.
Texte sublime: Sublime Text est un éditeur de texte léger et rapide, connu pour sa rapidité et sa simplicité. Il offre une large gamme de plugins et d'options de personnalisation, ce qui le rend adapté au développement Python lorsqu'il est associé aux bons plugins.
Vous avez la possibilité d'utiliser n'importe lequel de ces IDE pour interagir avec le Crawling API ou tout autre service Web utilisant des requêtes HTTP. Choisissez celui avec lequel vous êtes le plus à l'aise et qui correspond le mieux à votre flux de travail et aux exigences de votre projet.
Compte API Crawlbase
La série Crawling API de Crawlbase sera au centre de ce projet. Il est important que vous ayez un compte et que vous obteniez vos jetons de compte avant de commencer ce guide pour un flux plus fluide une fois engagé dans la phase de codage.
Créez simplement un compte et accédez à la documentation de votre compte pour obtenir vos jetons. Pour ce projet, nous utiliserons le Jeton de demande JavaScript pour explorer les pages financières de Yahoo.

3. Installation des dépendances
Une fois Python installé et que vous avez déterminé quel IDE vous préférez, il est temps d'installer les packages nécessaires à notre projet. En programmation, un package est un ensemble de modules ou de classes connexes qui sont organisés ensemble pour fournir un ensemble de fonctionnalités. Les packages aident à organiser le code en espaces de noms hiérarchiques, ce qui facilite la gestion et la réutilisation du code dans différents projets.
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 :
1 | pip installe crawlbase |
Les commandes ci-dessus installeront les éléments suivants :
Bibliothèque Python Crawlbase : Une classe Python légère et sans dépendance qui agit comme wrapper pour l'API Crawlbase. Il s'agit essentiellement d'un package qui vous permet d'intégrer facilement diverses API Crawlbase, notamment Crawling API dans votre projet.
Beautifulsoup4: Une bibliothèque Python utilisée à des fins de scraping Web. Elle vous permet d'extraire des données à partir de fichiers HTML et XML, ce qui facilite l'analyse et la navigation dans la structure du document. Beautiful Soup fournit une interface simple pour travailler avec des documents HTML et XML en transformant le balisage brut en un arbre d'analyse navigable.
De plus, nous utiliserons le module JSON pour exporter les données dans un fichier JSON, il s'agit d'un package intégré de Python, qui peut être utilisé pour travailler avec des données JSON.
4. Récupération de la page Web Yahoo Finance
Il est maintenant temps d'écrire notre code. Nous allons d'abord écrire un code pour explorer le code source HTML complet de notre page Web cible. Dans cette étape, nous utiliserons le package Crawlbase.
Commencez par ouvrir votre éditeur de texte ou IDE préféré et créez un nouveau fichier Python. Pour les besoins de ce guide, créons un fichier nommé scraper.py
depuis votre terminal/console :
1 | gratte-toucher.py |
Pour la démonstration, nous allons cibler ceci Page financière Yahoo.

Copiez le code complet ci-dessous et lisez l'explication pour comprendre chaque section :
1 | de base d'exploration importer API d'exploration |
Comment fonctionne le scraping de Yahoo Finance :
nous avons importé le CrawlingAPI
classe du module crawlbase. Cette classe permet l'interaction avec l'API Crawlbase à des fins d'exploration Web.
La série crawl
la fonction prend deux paramètres : page_url
(l'URL de la page à explorer) et api_token
(le jeton API utilisé pour authentifier les requêtes auprès de l'API Crawlbase).
Le code est ensuite enveloppé dans un try
bloc pour gérer les erreurs potentielles. Si des erreurs se produisent pendant l'exécution, elles sont détectées et traitées dans le except
bloque.
Un exemple du CrawlingAPI
la classe est créée avec le jeton API fourni et la méthode get est utilisée pour effectuer une requête GET vers le spécifié page_url
. La réponse de l'API est stockée dans le response
variable.
Le script vérifie également si le code d'état HTTP de la réponse est 200, ce qui indique que la requête a réussi. Si la requête a réussi, le corps de la réponse (code source HTML) est affiché sur la console. Si la requête échoue ou si des exceptions se produisent pendant l'exécution, des messages d'erreur sont affichés sur la console.
Essayons d'exécuter le code. Vous pouvez à nouveau accéder à votre console et saisir la commande ci-dessous :
1 | scraper python.py |
En cas de succès, vous recevrez une réponse similaire à celle-ci :

5. Récupération du titre à partir du code HTML de Yahoo Finance à l'aide de bs4
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.
1 | à partir de crawlbase, importer CrawlingAPI |
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 :
1 | def gratter_les_données(RAPIDE): |
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.
6. Comment faire baisser les prix financiers
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 PrixCommencez 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 :
1 | def gratter_les_données(RAPIDE): |
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.
7. Annulation du changement de prix
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.
1 | def gratter_les_données(RAPIDE): |
8. Scraping Market Timestamp sur Yahoo Finance
Enfin, nous allons également récupérer l'horodatage du marché. Il fait référence à la date précise à laquelle les prix sont calculés. Par exemple, si vous voyez « À la clôture » suivi de la date « 19 avril 2024 », cela signifie que les informations fournies concernent le cours de clôture de l'actif le 19 avril 2024.
Notez également que si le message « Marché ouvert » s'affiche, cela indique que le prix affiché est le prix auquel l'actif a commencé à être négocié à l'ouverture du marché.

Mettez en surbrillance les données et accédez à inspect pour obtenir le sélecteur associé. Écrivons à nouveau le code pour extraire les données à l'aide de BeautifulSoup.
1 | def gratter_les_données(RAPIDE): |
9. Complétez le Yahoo Finance Scraper
Après avoir écrit le sélecteur pour chacune de nos données cibles, il est temps de compiler le code et de mettre notre scraper en action. Pour votre commodité, nous avons compilé le code ci-dessous et ajouté quelques lignes pour enregistrer la réponse sous forme de fichier JSON. N'hésitez pas à le copier et à l'enregistrer sur votre machine locale :
1 | de base d'exploration importer API d'exploration |
Exécutez le code pour obtenir la réponse. Utilisez la commande ci-dessous :
1 | scraper python.py |
En cas de succès, le résultat devrait être similaire à celui indiqué ci-dessous :
1 | { |
Et voilà. La réponse au format JSON vous permettra d'utiliser efficacement les données. Utilisez-les pour analyser le marché boursier, comparer les prix, etc. Le choix vous appartient.
10. Conclusion
Félicitations ! Vous avez terminé un guide complet sur la façon de créer efficacement un scraper pour Yahoo Finance à l'aide de Python, de l'API Crawlbase et de BeautifulSoup. Vous avez appris à extraire des données propres et utiles des pages Web et à les personnaliser pour vos projets ou vos analyses.
Le code partagé dans ce guide est disponible pour toute personne intéressée. Nous vous encourageons à vous y engager activement, car il peut être utile à tout le monde, y compris à toutes sortes de développeurs, de data scientists ou même à un apprenant curieux. Vous êtes libre de modifier et d'adapter le code en fonction de vos besoins spécifiques. Ajustez-le pour l'automatisation, récupérez des données à partir d'autres sites Web, extrayez différents types d'informations ou ajoutez de nouvelles fonctions.
Nous espérons que ce guide a atteint son objectif et vous a fourni les compétences et les outils nécessaires pour utiliser efficacement le scraping Web dans vos projets. Bon scraping et que vos aventures de données vous mènent à de nouvelles découvertes et perspectives !
Si vous recherchez d’autres projets comme celui-ci, nous vous invitons également à consulter les éléments suivants :
Comment récupérer les données d'Apartments.com
Récupérer les données de propriété de Redfin
Playwright Web Scraping 2024 - Tutoriel
Vous souhaitez en savoir plus sur un sujet ? Notre équipe d'assistance se fera un plaisir de vous aider. Envoyez-nous un e-mail.
11. Questions fréquemment posées
Le web scraping est-il légal pour récupérer des données de Yahoo Finance ?
Oui, le scraping Web en lui-même n'est pas intrinsèquement illégal, mais il est important de consulter et de respecter les conditions d'utilisation du site Web que vous scrappez. Yahoo Finance, comme de nombreux autres sites Web, peut avoir des conditions générales spécifiques concernant les activités de scraping Web. Assurez-vous de vous familiariser avec ces conditions pour éviter tout problème juridique.
Comment extraire les données de Yahoo Finance ?
- Identifier les données à extraire et inspecter le site Web
- Sélectionnez un outil ou une bibliothèque de scraping pour extraire les données des pages Web
- Utilisez l'outil de scraping choisi pour envoyer une requête HTTP GET à l'URL cible
- Analyser le contenu HTML de la page Web à l'aide des capacités d'analyse de l'outil de scraping
- Selon vos besoins, vous pouvez stocker les données extraites dans un fichier, une base de données ou une structure de données pour une analyse ultérieure ou les utiliser directement dans votre application.
Quels outils et bibliothèques puis-je utiliser pour récupérer Yahoo Finance ?
Il existe plusieurs outils et bibliothèques disponibles pour le scraping Web en Python, notamment BeautifulSoup, Scrapy et Selenium. De plus, vous pouvez utiliser des API telles que Crawlbase API pour un accès plus facile aux données Web. Choisissez l'outil ou la bibliothèque qui correspond le mieux aux exigences de votre projet et à votre expertise technique.