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.
Dans ce guide, vous apprendrez à extraire des données de Yahoo Finance à l'aide de Python, ainsi que les meilleures pratiques pour éviter les mesures anti-bot.
TL; DR:
- Apprenez à scraper Yahoo Finance en utilisant Python et Crawlbase Crawling API.
- Couvre le cours des actions, les variations de prix et l'extraction des horodatages du marché.
- Inclut un exemple de code complet et Crawlbase conseils d'intégration.
Voici une courte vidéo expliquant comment extraire des données financières de Yahoo Finance:
Table des Matières
1. Outils dont vous avez besoin (Python + Crawlbase)
2. Étape par étape : comment récupérer des données sur une page Yahoo Finance
3. Extraire le titre de la page avec BeautifulSoup
4. Récupération des cours des actions de Yahoo Finance
5. Grattage des indicateurs de variation de prix (haut/bas)
6. Obtenir l'horodatage du marché
7. Code Python complet : Yahoo Finance Scraper
8. Réflexions finales et prochaines étapes
1. Outils dont vous avez besoin pour scraper Yahoo Finance (Python + Crawlbase)
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 :
1 | pip installe crawlbase |
2. É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. 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 | à partir de base d'exploration importer API d'exploration |
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 :

3. Extraire le titre de la page avec BeautifulSoup
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 Objet 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(à un besoin identifié): |
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 la fonction 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.
4. 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 par personneCommencez 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(à un besoin identifié): |
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.
5. 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.
1 | def gratter_les_données(à un besoin identifié): |
6. Obtenir l'horodatage du marché
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(à un besoin identifié): |
7. Code Python complet : 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 | à partir 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.
8. Réflexions finales et prochaines étapes
Vous avez terminé un guide complet sur la façon de créer efficacement un scraper pour Yahoo Finance à l'aide de Python, Crawlbase API et BeautifulSoup. Vous avez appris à extraire des données propres et utiles de pages web et à les personnaliser pour vos projets ou 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 recommandons l'intégration avec Crawlbase Crawling API, qui gère la rotation IP, les CAPTCHA et le rendu.
9. Foire aux questions (FAQ)
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 ?
Plusieurs outils et bibliothèques sont disponibles pour le scraping web en Python, notamment BeautifulSoup, Scrapy et Selenium. Vous pouvez également utiliser des API telles que Crawlbase API pour un accès simplifié aux données web. Choisissez l'outil ou la bibliothèque qui correspond le mieux aux exigences de votre projet et à votre expertise technique.











