Transformer une page web en données avec BeautifulSoup : récupérer les hyperliens
Dans cet exercice, vous allez extraire les URL des hyperliens depuis la page web du BDFL. Au passage, vous deviendrez très familier avec la méthode find_all() de soup.
Cet exercice fait partie du cours
Importation intermédiaire de données en Python
Instructions
- Utilisez la méthode
find_all()pour trouver tous les hyperliens danssoup, en vous rappelant que les hyperliens sont définis par la balise HTML<a>mais 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 est maintenant de le parcourir avec une boucleforet d’afficher les URL effectives des hyperliens ; pour cela, pour chaque élémentlinkdansa_tags, vous devezprint()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 ____:
____