Vous êtes sur la page 1sur 7

01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

Documentation sur la
Beautiful Soup
by Data Science Team1 year ago  75

Delightful Soup est une bibliothèque Python qui permet d’extraire des informations des
enregistrements HTML et XML. Elle fonctionne avec votre analyseur préféré pour vous
donner des méthodes informelles d’exploration, de recherche et de modification de
l’arbre d’analyse. Elle permet régulièrement aux ingénieurs logiciels de gagner des
heures ou de longues heures de travail.

Ces lignes directrices représentent chaque élément significatif de l’Excellent Soup 4,


avec des modèles. Je vous donne ce à quoi elle sert, comment elle fonctionne, comment
l’utiliser, comment la faire faire ce dont vous avez besoin, et ce qu’il faut faire quand
elle nuit à vos désirs.

Les modèles de cette documentation devraient fonctionner de la même manière en


Python 2.7 et Python 3.2.

Vous recherchez peut-être la documentation relative à Lovely Soup 3. Si c’est le cas,


vous devez savoir que la Soupe Merveilleuse 3 n’est plus jamais créée et que la Soupe
Excellente 4 est prescrite pour chaque nouvelle entreprise. Si vous souhaitez connaître
les contrastes entre Excellent Soup 3 et Wonderful Soup 4, consultez le code de portage
sur BS4.

Cette documentation a été convertie en différents dialectes par les clients de Wonderful
Soup :

Ce document est bien sûr également disponible en chinois.

Cette page est disponible en japonais (lien externe)

이 문서는 한국어 번역도 가능합니다. (외부 링크)

un document HTML qui sera utilisé comme exemple tout au long de ce document. Il
s’agit d’une partie de l’histoire d’Alice au pays des merveilles :

https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 1/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

html_doc = “””

<html><head><title>The Dormouse’s story</title></head>

<corps>

<p class=”title”><b>L’histoire de The Dormouse</b></p>

<p class=”story”>Il était une fois trois petites soeurs ; et elles s’appelaient

<a href=”http://example.com/elsie” class=”sister” id=”link1″>Elsie</a>,

<a href=”http://example.com/lacie” class=”sister” id=”link2″>Lacie</a> et

<a href=”http://example.com/tillie” class=”sister” id=”link3″>Tillie</a> ;

et ils vivaient au fond d’un puits.</p>

<p class=”story”>…</p>

“””

En passant le document des “trois sœurs” dans Beautiful Soup, on obtient un objet
BeautifulSoup, qui représente le document comme une structure de données imbriquée :

de bs4 import BeautifulSoup

soupe = BeautifulSoup(html_doc, ‘html.parser’)

print(soup.prettify())

# <html>

# <head>

# <titre>

# L’histoire de The Dormouse

# </titre>

https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 2/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

# </head>

# <corps>

# <p class=”title”>

#    <b>

# L’histoire de The Dormouse

#    </b>

#   </p>

# <p class=”story”>

# Il était une fois trois petites soeurs, et elles s’appelaient

# <a class=”sister” href=”http://example.com/elsie” id=”link1″>

# Elsie

#    </a>

#    ,

# <a class=”sister” href=”http://example.com/lacie” id=”link2″>

# Lacie

#    </a>

# et

# <a class=”sister” href=”http://example.com/tillie” id=”link2″>

# Tillie

#    </a>

# ; et ils vivaient au fond d’un puits.


https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 3/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

#   </p>

# <p class=”story”>

#    …

#   </p>

# </corps>

# </html>

Voici quelques moyens simples de naviguer dans cette structure de données :

soup.title

<titre>L’histoire du Loir</titre>

soup.title.name

# u “titre

soup.title.string

# u “L’histoire du Loir

soup.titre.parent.nom

# u ‘tête

soup.p

# <p class=”title”><b>L’histoire du Loir</b></p>

soup.p [“classe”].

# u “titre

soup.a

# <a class=”sister” href=”http://example.com/elsie” id=”link1″>Elsie</a>


https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 4/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

soup.find_all(‘a’)

# [<a class=”sister” href=”http://example.com/elsie” id=”link1″>Elsie</a>,

# <a class=”sister” href=”http://example.com/lacie” id=”link2″>Lacie</a>,

# <a class=”sister” href=”http://example.com/tillie” id=”link3″>Tillie</a>]

soup.find(id=”link3″)

# <a class=”sister” href=”http://example.com/tillie” id=”link3″>Tillie</a>

Une tâche commune consiste à extraire toutes les URL trouvées dans les balises <a>
d’une page :

pour le lien dans soup.find_all(‘a’) :

    print(link.get(‘href’))

# http://example.com/elsie

# http://example.com/lacie

# http://example.com/tillie

Une autre tâche courante consiste à extraire tout le texte d’une page :

print(soup.get_text())

# L’histoire de The Dormouse

# L’histoire de The Dormouse

# Il était une fois trois petites soeurs, et elles s’appelaient

# Elsie,

https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 5/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

# Lacie et

# Tillie ;

# et ils vivaient au fond d’un puits.

#…

Installer une belle soupe

Si vous utilisez une forme continue de Debian ou Ubuntu Linux, vous pouvez introduire
Delightful Soup avec le gestionnaire de paquets du système :

$ able get introduce python-bs4 (pour Python 2)

$ adept get introduce python3-bs4 (pour Python 3)

Wonderful Soup 4 est distribué par PyPi, donc dans le cas où vous ne pouvez pas
l’introduire avec le packager du système, vous pouvez l’introduire avec easy_install ou
pip. Le nom du bundle est beautifulsoup4, et un bundle similaire concerne Python 2 et
Python 3. Assurez-vous que vous utilisez le rendu correct de pip ou easy_install pour
votre formulaire Python (ceux-ci peuvent être nommés pip3 et easy_install3 séparément
au cas où vous utiliseriez Python 3).

$ easy_install beautifulsoup4

$ pip présenter beautifulsoup4

(Le paquet BeautifulSoup n’est probablement pas ce dont vous avez besoin. C’est la
dernière décharge importante, ExcellenteSoupe 3. Une grande partie de la
programmation utilise le BS3, il est donc encore accessible, cependant au cas où vous
composeriez un nouveau code, vous devriez introduire le beautifulsoup4).

Si par hasard vous n’avez pas easy_install ou pip introduit, vous pouvez télécharger le
tarball source de Delightful Soup 4 et l’introduire avec setup.py.

$ python setup.py introduire

En dernier recours, l’autorisation pour Delightful Soup vous permet de regrouper toute
la bibliothèque avec votre demande. Vous pouvez télécharger le tarball, dupliquer son
catalogue bs4 dans la base de code de votre application et utiliser Delightful Soup sans
https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 6/7
01/09/2021 Documentation sur la Beautiful Soup — Programmation Informatique — DATA SCIENCE

l’introduire par aucun moyen.

J’utilise Python 2.7 et Python 3.2 pour créer Delightful Soup, mais cela devrait
fonctionner avec d’autres formes en cours.

Questions après la création

Excellent Soup est fourni sous forme de code Python 2. Au moment où vous
l’introduisez pour l’utiliser avec Python 3, il est donc passé en code Python 3. Si par
hasard vous n’introduisez pas le paquet, le code ne sera pas modifié. De même, des
rapports sur des machines Windows ont fait état de l’introduction d’une adaptation
inappropriée.

Si par hasard vous obtenez l’erreur ImportError “No module named HTMLParser”,
votre souci est que vous exécutez l’adaptation du code en Python 2 sous Python 3.

Dans le cas où vous obtenez l’erreur ImportError “No module named html.parser”, votre
souci est que vous exécutez la forme Python 3 du code sous Python 2.

Dans les deux cas, votre option la plus solide est d’expulser totalement l’établissement
Lovely Soup de votre système (en comptant tout indice réalisé lorsque vous avez
détaché la goulette) et de tenter à nouveau l’établissement.

Si par hasard vous obtenez l’erreur de syntaxe “Structure de phrase invalide” en attente
ROOT_TAG_NAME = u'[document]’, vous devez changer le code Python 2 pour
Python 3. Vous pouvez le faire soit en introduisant le bundle :

$ python3 setup.py introduire

ou encore en exécutant physiquement le contenu de la transformation 2to3 de Python sur


le registre bs4 :

https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 7/7

Vous aimerez peut-être aussi