Apprenez à utiliser Beautiful Soup pour le web scraping sous Python en 3 minutes

Vous cherchez un didacticiel rapide pour vous aider à commencer à faire du web scraping à l’aide de Beautiful Soup de Python ? Vous avez trouvé la bonne adresse ! Lisez la suite et commencez dès maintenant.
Rafael Levi
Rafael Levi | Senior Business Manager
05-Jan-2021

Dans cet article, nous parlerons des points suivants :

Comment fonctionne le web scraping ?

Le scraping d’une page web consiste en la requête de données spécifiques d’une page web cible. Lorsque vous faites le scraping d’une page, le code que vous écrivez envoie votre requête au serveur hébergeant la page de destination. Le code télécharge ensuite la page, en extrayant uniquement les éléments de la page définis initialement dans la tâche.

Supposons par exemple que nous cherchions à cibler les données des balises de titre H3. Nous écrirons le code d’un scraper qui recherchera spécifiquement ces informations. Le scraper fonctionne en trois étapes :

Étape 1 : envoi d’une requête.au serveur pour télécharger le contenu du site.

Étape 2 : filtrage du code HTML de la page pour rechercher les balises H3 désirées.

Étape 3 : copie du texte à l’intérieur des balises cibles et production de la sortie au format spécifié précédemment dans le code.

Il est possible d’effectuer des tâches de web scraping dans de nombreux langages de programmation avec différentes bibliothèques, mais l’utilisation de Python avec la bibliothèque Beautiful Soup est l’une des méthodes les plus populaires et efficaces qui soient. Dans les sections suivantes, nous allons aborder les bases du web scraping en Python avec Beautiful Soup.

Qu’est-ce que Beautiful Soup ?

Beautiful Soup fournit des méthodes simples de navigation, de recherche et de modification d’une arborescence d’analyse dans des fichiers HTML et XML. Il transforme un document HTML complexe en une arborescence d’objets Python. De plus, il convertit automatiquement le document en Unicode, ce qui évite d’avoir à tenir compte des codages. Cet outil vous aide non seulement à faire du web scraping, mais aussi à nettoyer vos données. Beautiful Soup prend en charge l’analyseur HTML inclus dans la bibliothèque standard de Python, mais il prend également en charge plusieurs analyseurs Python tiers, comme lxml ou hml5lib.

Pour en savoir plus sur l’éventail complet de ses fonctionnalités, ouvrez le lien suivant : Documentation Beautiful Soup.

Installation de Requests et de Beautiful Soup

Pour installer Beautiful Soup, vous avez besoin de pip ou de n’importe quel autre programme d’installation Python. Vous pouvez également utiliser votre JupyterLab. Dans ce post, nous utiliserons pip car c’est l’outil le plus pratique. Ouvrez votre terminal ou JupyterLab et écrivez command line syntax for pip install beautifulsoup4 for Beautiful Soup Libraries in Python

Vous pouvez également installer un analyseur qui interprète le code HTML, par exemple html5lib. Pour ce faire, exécutez le code suivant sur le terminal :command line for installing html5lib using pip install for Python

Installation de Requestsscreenshot of syntax for pip install requests for python

Une autre méthode consiste à télécharger les bibliothèques manuellement en suivant ces liens :

1: Requests

2: Hml5lib

3: Beautifulsoup4

Étapes faciles pour faire du web scraping en Python, en utilisant Requests et Beautiful Soup

Étape 1 : Vous devez envoyer une requête HTTP au serveur de la page que vous souhaitez récupérer. Le serveur répond en envoyant le contenu HTML de la page web. Puisque nous utilisons Python pour nos requêtes, nous avons besoin d’une bibliothèque HTTP tierce – nous utiliserons Requests.

Commencez par importer la bibliothèque Requests et adressez une simple requête GET à l’URL – nous avons choisi https://www.brainyquote.com/topics/motivational-quotes parce que ce site a une structure HTML simple et nous permettra de démontrer facilement le potentiel de Beautiful Soup.python code to import requests and then scrape a given URLSi vous obtenez la réponse [200], cela signifie essentiellement que le site a répondu avec un code de réponse HTTP 200 OK et nous a envoyé le contenu HTML de la page

Faisons de nouveau la même requête, mais cette fois, nous stockerons le résultat dans une variable appelée r, et nous imprimerons son contenuscraping using requests and saving the URL as a variable called rLa sortie doit correspondre au code HTML complet de cette page. Comme vous pouvez le constater, cette sortie n’est pas structurée et Beautiful Soup nous aidera à la nettoyer et à obtenir les données dont nous avons besoin.

Étape 2 : Maintenant que nous avons le contenu HTML, nous devons analyser les données. Pour cela, nous allons utiliser Beautiful Soup avec un analyseur html5lib..importing beautiful soup from bs4 - command line syntaxNous devons passer deux valeurs dans BeautifulSoup()

1. Chaîne HTML du site web : r.content

2. Quel analyseur HTML utiliser : html5lib

Étape 3 : À ce stade, vous voulez accéder au site que vous voulez scraper. Ouvrez les Devtools (F12) et accédez à l’onglet Elements. Nous allons rechercher la couche supérieure de la tablenice chunk of scraped data using beautiful soup

command line syntax for configuring a table in beautiful soup using python

Imprimons la table pour avoir une meilleure idée de ce que nous avons jusqu’à présent, et utilisons .prettify()command line for displaying the table in the console using prettify

Votre sortie devrait ressembler à ceci :

Cherchons maintenant les données dont nous avons besoin. Pour cet exemple, nous rechercherons seulement le texte cité et le nom de l’auteur. Comme vous pouvez le voir, toutes ces données sont à

Faisons donc une boucle sur toutes les instances de cette classe pour obtenir toutes les citations dans notre table.command line for looping through all the data to find the rows you need for the table

Vous devriez maintenant avoir uniquement ledans chaque instance de boucle disponible. Vous pouvez tester cela en exécutant print(row) dans la boucle.

 
finding the alt-text inside the scraped data

Nous recherchons les informations sous la clé « img alt » ; nous allons donc créer une variable de citation et affecter ces données à cette variable.

assigning data to the alt text

Comme vous pouvez le voir, j’ai utilisé pour cela une déclaration « try ». Dans ce cas, si l’une des lignes ne contient pas les données que vous recherchez, vous ne recevrez pas d’erreur et la boucle continuera. Je divise également les résultats au niveau des « – ». Comme vous l’avez vu précédemment, le texte et le nom de l’auteur sont séparés par un tiret « – » ; utilisons cela pour différencier les deux et les séparerexample of alt-attribute text being filled with the data providedEt voilà, vous avez terminé. Voici ce à quoi devrait ressembler votre variable de citation maintenant :

 

example of the data after it has applied the alt-text scrape

À la fin de ce processus, vous pouvez enregistrer vos données dans un fichier, et votre code devrait ressembler à ceci :Screen shot of the final Python code and how it should look

Rafael Levi
Rafael Levi | Senior Business Manager

Rafael Levi is a senior business manager at Bright Data. He specializes in data collection automation and works closely with customers to help them achieve their goals. He firmly believes that the future of any e-business lay within data aggregation and automation.

Vous pourriez aussi être intéressé par

Data delivering

Pourquoi recourir à des proxys pour utiliser des services de streaming ?

Les services de streaming sont aujourd’hui plus populaires que jamais, notamment dans le domaine du gaming et de la vidéo.
Python web scraping guide

Le web scraping avec Python : guide pour débutants

Apprenez à faire du web scraping avec Python afin de recueillir rapidement des données sur plusieurs sites web, ce qui vous permet d’économiser du temps et des efforts.

Le scraping de données en temps réel

La technologie du web scraping, c’est-à-dire de la collecte automatisée de gros volumes de données publiques sur Internet, n’est plus à présenter. Diverses sociétés proposent des services de web scraping et un nombre croissant d’entreprises y recourent désormais. Cependant, le web scraping peut être utilisé de différentes manières : ainsi, certains utilisateurs peuvent se contenter de […]

Les 9 plus grands mythes au sujet du web scraping

Le web scraping a mauvaise réputation parce qu’il peut être utilisé à des fins malveillantes. Mais le web scraping peut également être utilisé à bon escient ! Dans ce post, nous allons dissiper quelques mythes répandus sur le web scraping afin que vous puissiez comprendre comment cette technologie peut être utilisée à bon escient
Youtube Scraper

L’importance du web scraping pour le commerce en ligne

Nous assistons aujourd’hui à un changement de paradigme technologique accompagné d’innovations qui conduisent les entreprises à repenser leurs pratiques. Internet a pris le pas sur l’environnement
Web scraping with PHP

Le web scraping avec PHP : un guide pas-à-pas

Apprenez à créer et à programmer facilement votre propre web scraper en PHP, à partir de zéro.

Guide pour le Scraping avec Java

Vous ne savez pas quels outils télécharger pour vous aider à créer un environnement Java idéal pour la collecte de données ? Vous ne voyez pas clairement comment extraire/analyser des points de données au format HTML, puis les convertir au format CSV ? Ce post vous aidera à mettre les choses au point.
What is alternative data

Que sont les données alternatives et comment les utiliser ?

Les sociétés d’investissement surveillent les médias sociaux, les moteurs de recherche ainsi que les données de demande des consommateurs, et reçoivent des alertes en temps réel lorsque les entreprises de leur portefeuille sont mentionnées. Voici comment.