Transformer une page web en données à l'aide de BeautifulSoup : obtenir les hyperliens
Dans cet exercice, vous découvrirez comment extraire les URLs des hyperliens de la page web de BDFL. Vous deviendrez ainsi un ami proche de la méthode de la soupe find_all()
.
Cet exercice fait partie du cours
Intermédiaire Importer des données en Python
Instructions
- Utilisez la méthode
find_all()
pour trouver tous les liens hypertextes danssoup
, en vous rappelant que les liens hypertextes sont définis par la balise HTML<a>
mais qu'ils sont transmis àfind_all()
sans crochets d'angle ; stockez le résultat dans la variablea_tags
. - La variable
a_tags
est un ensemble de résultats : votre tâche consiste maintenant à l'énumérer, à l'aide d'une bouclefor
et à imprimer les URLs des hyperliens ; pour ce faire, pour chaque élémentlink
dansa_tags
, vous voulezprint()
link.get('href')
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Import packages
import requests
from bs4 import BeautifulSoup
# Specify url
url = 'https://www.python.org/~guido/'
# Package the request, send the request and catch the response: r
r = requests.get(url)
# Extracts the response as html: html_doc
html_doc = r.text
# create a BeautifulSoup object from the HTML: soup
soup = BeautifulSoup(html_doc)
# Print the title of Guido's webpage
print(soup.title)
# Find all 'a' tags (which define hyperlinks): a_tags
# Print the URLs to the shell
for ____ in ____:
____