Transformer une page Web en données avec BeautifulSoup : récupérer les hyperliens
Dans cet exercice, vous allez apprendre à extraire les URL des hyperliens à partir de la page Web du BDFL. Au passage, vous deviendrez très à l'aise avec la méthode de la soupe find_all().
Cette activité fait partie du cours
Importation intermédiaire de données en Python
Instructions de l’exercice
- Utilisez la méthode
find_all()pour trouver tous les hyperliens danssoup, en vous rappelant que les hyperliens sont définis par l'étiquette HTML<a>mais sont passés àfind_all()sans chevrons; stockez le résultat dans la variablea_tags. - La variable
a_tagsest un ensemble de résultats : votre tâche maintenant est de l'énumérer à l'aide d'une boucleforet d'imprimer les URL réelles des hyperliens; pour ce faire, pour chaque élémentlinkdansa_tags, vous devezprint()link.get('href').
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 ____:
____