Requêtes - Web Scraping à l'aide de requêtes

Nous avons déjà vu comment nous pouvons obtenir des données à partir d'une URL donnée à l'aide de la bibliothèque de requêtes python. Nous essaierons de supprimer les données du site deTutorialspoint qui est disponible à https://www.tutorialspoint.com/tutorialslibrary.htm en utilisant ce qui suit -

  • Bibliothèque de demandes
  • Belle bibliothèque de soupe de python

Nous avons déjà installé la bibliothèque Requests, installons maintenant le package Beautiful soup. Voici le site officiel debeautiful soup disponible à https://www.crummy.com/software/BeautifulSoup/bs4/doc/ au cas où vous voudriez explorer d'autres fonctionnalités de la belle soupe.

Installation de Beautifulsoup

Nous verrons comment installer Beautiful Soup ci-dessous -

E:\prequests>pip install beautifulsoup4
Collecting beautifulsoup4
Downloading https://files.pythonhosted.org/packages/3b/c8/a55eb6ea11cd7e5ac4ba
cdf92bac4693b90d3ba79268be16527555e186f0/beautifulsoup4-4.8.1-py3-none-any.whl
(
101kB)
|████████████████████████████████| 102kB 22kB/s
Collecting soupsieve>=1.2 (from beautifulsoup4)
Downloading https://files.pythonhosted.org/packages/81/94/03c0f04471fc245d08d0
a99f7946ac228ca98da4fa75796c507f61e688c2/soupsieve-1.9.5-py2.py3-none-any.whl
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.8.1 soupsieve-1.9.5

Nous avons maintenant une bibliothèque de requêtes python et une belle soupe installée.

Écrivons maintenant le code, qui supprimera les données de l'URL donnée.

Grattage Web

import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.tutorialspoint.com/tutorialslibrary.htm')
print("The status code is ", res.status_code)
print("\n")
soup_data = BeautifulSoup(res.text, 'html.parser')
print(soup_data.title)
print("\n")
print(soup_data.find_all('h4'))

En utilisant la bibliothèque de requêtes, nous pouvons récupérer le contenu de l'URL donnée et une belle bibliothèque de soupe aide à l'analyser et à récupérer les détails comme nous le souhaitons.

Vous pouvez utiliser une belle bibliothèque de soupe pour récupérer des données à l'aide de la balise Html, de la classe, de l'identifiant, du sélecteur css et de bien d'autres façons. Voici la sortie que nous obtenons dans laquelle nous avons imprimé le titre de la page ainsi que toutes les balises h4 de la page.

Production

E:\prequests>python makeRequest.py
The status code is 200
<title>Free Online Tutorials and Courses</title>
[<h4>Academic</h4>, <h4>Computer Science</h4>, <h4>Digital Marketing</h4>, 
<h4>Monuments</h4>,<h4>Machine Learning</h4>, <h4>Mathematics</h4>, 
<h4>Mobile Development</h4>,<h4>SAP</h4>, 
<h4>Software Quality</h4>, <h4>Big Data & Analytics</h4>, 
<h4>Databases</h4>, <h4>Engineering Tutorials</h4>, 
<h4>Mainframe Development</h4>, 
<h4>Microsoft Technologies</h4>, <h4>Java Technologies</h4>,
<h4>XML Technologies</h4>, <h4>Python Technologies</h4>, <h4>Sports</h4>, 
<h4>Computer Programming</h4>,<h4>DevOps</h4>, <h4>Latest Technologies</h4>, 
<h4>Telecom</h4>, <h4>Exams Syllabus</h4>, 
<h4>UPSC IAS Exams</h4>, 
<h4>Web Development</h4>,
<h4>Scripts</h4>, <h4>Management</h4>,<h4>Soft Skills</h4>, 
<h4>Selected Reading</h4>, <h4>Misc</h4>]