Belle soupe - Installation

Comme BeautifulSoup n'est pas une bibliothèque Python standard, nous devons d'abord l'installer. Nous allons installer la bibliothèque BeautifulSoup 4 (également appelée BS4), qui est la dernière.

Pour isoler notre environnement de travail afin de ne pas perturber la configuration existante, créons d'abord un environnement virtuel.

Créer un environnement virtuel (facultatif)

Un environnement virtuel nous permet de créer une copie de travail isolée de python pour un projet spécifique sans affecter la configuration extérieure.

La meilleure façon d'installer n'importe quelle machine de package python est d'utiliser pip, cependant, si pip n'est pas déjà installé (vous pouvez le vérifier en utilisant - «pip –version» dans votre commande ou l'invite du shell), vous pouvez installer en donnant la commande ci-dessous -

Environnement Linux

$sudo apt-get install python-pip

Environnement Windows

Pour installer pip dans Windows, procédez comme suit -

  • Téléchargez le get-pip.py depuis https://bootstrap.pypa.io/get-pip.py ou depuis le github vers votre ordinateur.

  • Ouvrez l'invite de commande et accédez au dossier contenant le fichier get-pip.py.

  • Exécutez la commande suivante -

>python get-pip.py

Voilà, pip est maintenant installé sur votre machine Windows.

Vous pouvez vérifier votre pip installé en exécutant la commande ci-dessous -

>pip --version
pip 19.2.3 from c:\users\yadur\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)

Installation de l'environnement virtuel

Exécutez la commande ci-dessous dans votre invite de commande -

>pip install virtualenv

Après l'exécution, vous verrez la capture d'écran ci-dessous -

La commande ci-dessous créera un environnement virtuel («myEnv») dans votre répertoire actuel -

>virtualenv myEnv

Capture d'écran

Pour activer votre environnement virtuel, exécutez la commande suivante -

>myEnv\Scripts\activate

Dans la capture d'écran ci-dessus, vous pouvez voir que nous avons «myEnv» comme préfixe qui nous indique que nous sommes sous l'environnement virtuel «myEnv».

Pour sortir de l'environnement virtuel, exécutez disable.

(myEnv) C:\Users\yadur>deactivate
C:\Users\yadur>

Comme notre environnement virtuel est prêt, installons maintenant beautifulsoup.

Installer BeautifulSoup

Comme BeautifulSoup n'est pas une bibliothèque standard, nous devons l'installer. Nous allons utiliser le package BeautifulSoup 4 (connu sous le nom de bs4).

Machine Linux

Pour installer bs4 sur Debian ou Ubuntu Linux à l'aide du gestionnaire de paquets système, exécutez la commande ci-dessous -

$sudo apt-get install python-bs4 (for python 2.x)
$sudo apt-get install python3-bs4 (for python 3.x)

Vous pouvez installer bs4 en utilisant easy_install ou pip (au cas où vous rencontriez un problème lors de l'installation à l'aide de System Packager).

$easy_install beautifulsoup4
$pip install beautifulsoup4

(Vous devrez peut-être utiliser respectivement easy_install3 ou pip3 si vous utilisez python3)

Machine Windows

Installer beautifulsoup4 dans Windows est très simple, surtout si vous avez déjà installé pip.

>pip install beautifulsoup4

Alors maintenant, beautifulsoup4 est installé dans notre machine. Parlons de quelques problèmes rencontrés après l'installation.

Problèmes après l'installation

Sur la machine Windows que vous pourriez rencontrer, une erreur d'installation d'une mauvaise version est principalement due à -

  • Erreur: ImportError “No module named HTMLParser”, alors vous devez exécuter la version python 2 du code sous Python 3.

  • Erreur: ImportError “No module named html.parser” erreur, vous devez alors exécuter la version Python 3 du code sous Python 2.

Le meilleur moyen de sortir des deux situations ci-dessus est de réinstaller à nouveau BeautifulSoup, en supprimant complètement l'installation existante.

Si vous obtenez le SyntaxError “Invalid syntax” sur la ligne ROOT_TAG_NAME = u '[document]', alors vous devez convertir le code python 2 en python 3, soit en installant le package -

$ python3 setup.py install

ou en exécutant manuellement le script de conversion 2 à 3 de python sur le répertoire bs4 -

$ 2to3-3.2 -w bs4

Installer un analyseur

Par défaut, Beautiful Soup prend en charge l'analyseur HTML inclus dans la bibliothèque standard de Python, mais il prend également en charge de nombreux analyseurs python tiers externes tels que l'analyseur lxml ou l'analyseur html5lib.

Pour installer l'analyseur lxml ou html5lib, utilisez la commande -

Machine Linux

$apt-get install python-lxml
$apt-get insall python-html5lib

Machine Windows

$pip install lxml
$pip install html5lib

Généralement, les utilisateurs utilisent lxml pour la vitesse et il est recommandé d'utiliser l'analyseur lxml ou html5lib si vous utilisez une ancienne version de python 2 (avant la version 2.7.3) ou python 3 (avant 3.2.2) comme l'analyseur HTML intégré de python est pas très bon pour gérer les anciennes versions.

Courir une belle soupe

Il est temps de tester notre package Beautiful Soup dans l'une des pages html (en prenant la page web - , vous pouvez choisir n'importe quelle autre page Web de votre choix) et en extraire des informations.

Dans le code ci-dessous, nous essayons d'extraire le titre de la page Web -

from bs4 import BeautifulSoup
import requests
url = "https://www.tutorialspoint.com/index.htm"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")
print(soup.title)

Production

<title>H2O, Colab, Theano, Flutter, KNime, Mean.js, Weka, Solidity, Org.Json, AWS QuickSight, JSON.Simple, Jackson Annotations, Passay, Boon, MuleSoft, Nagios, Matplotlib, Java NIO, PyTorch, SLF4J, Parallax Scrolling, Java Cryptography</title>

Une tâche courante consiste à extraire toutes les URL d'une page Web. Pour cela, il suffit d'ajouter la ligne de code ci-dessous -

for link in soup.find_all('a'):
print(link.get('href'))

Production

https://www.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/about/about_careers.htm
https://www.tutorialspoint.com/questions/index.php
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/codingground.htm
https://www.tutorialspoint.com/current_affairs.htm
https://www.tutorialspoint.com/upsc_ias_exams.htm
https://www.tutorialspoint.com/tutor_connect/index.php
https://www.tutorialspoint.com/whiteboard.htm
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/index.htm
https://www.tutorialspoint.com/tutorialslibrary.htm
https://www.tutorialspoint.com/videotutorials/index.php
https://store.tutorialspoint.com
https://www.tutorialspoint.com/gate_exams_tutorials.htm
https://www.tutorialspoint.com/html_online_training/index.asp
https://www.tutorialspoint.com/css_online_training/index.asp
https://www.tutorialspoint.com/3d_animation_online_training/index.asp
https://www.tutorialspoint.com/swift_4_online_training/index.asp
https://www.tutorialspoint.com/blockchain_online_training/index.asp
https://www.tutorialspoint.com/reactjs_online_training/index.asp
https://www.tutorix.com
https://www.tutorialspoint.com/videotutorials/top-courses.php
https://www.tutorialspoint.com/the_full_stack_web_development/index.asp
….
….
https://www.tutorialspoint.com/online_dev_tools.htm
https://www.tutorialspoint.com/free_web_graphics.htm
https://www.tutorialspoint.com/online_file_conversion.htm
https://www.tutorialspoint.com/netmeeting.php
https://www.tutorialspoint.com/free_online_whiteboard.htm
http://www.tutorialspoint.com
https://www.facebook.com/tutorialspointindia
https://plus.google.com/u/0/+tutorialspoint
http://www.twitter.com/tutorialspoint
http://www.linkedin.com/company/tutorialspoint
https://www.youtube.com/channel/UCVLbzhxVTiTLiVKeGV7WEBg
https://www.tutorialspoint.com/index.htm
/about/about_privacy.htm#cookies
/about/faq.htm
/about/about_helping.htm
/about/contact_us.htm

De même, nous pouvons extraire des informations utiles en utilisant beautifulsoup4.

Maintenant, comprenons plus à propos de la «soupe» dans l'exemple ci-dessus.