Académique Documents
Professionnel Documents
Culture Documents
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.
Cette documentation a été convertie en différents dialectes par les clients de Wonderful
Soup :
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 = “””
<corps>
<p class=”story”>Il était une fois trois petites soeurs ; et elles s’appelaient
<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 :
print(soup.prettify())
# <html>
# <head>
# <titre>
# </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>
# </b>
# </p>
# <p class=”story”>
# Elsie
# </a>
# ,
# Lacie
# </a>
# et
# Tillie
# </a>
# </p>
# <p class=”story”>
# …
# </p>
# </corps>
# </html>
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
soup.p [“classe”].
# u “titre
soup.a
soup.find_all(‘a’)
soup.find(id=”link3″)
Une tâche commune consiste à extraire toutes les URL trouvées dans les balises <a>
d’une page :
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())
# 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 ;
#…
Si vous utilisez une forme continue de Debian ou Ubuntu Linux, vous pouvez introduire
Delightful Soup avec le gestionnaire de paquets du système :
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
(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.
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
J’utilise Python 2.7 et Python 3.2 pour créer Delightful Soup, mais cela devrait
fonctionner avec d’autres formes en cours.
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 :
https://datascience.eu/fr/programmation-informatique/documentation-sur-la-belle-soupe/ 7/7