Omvandla en webbsida till data med BeautifulSoup: hämta hyperlänkar
I den här övningen tar du reda på hur du extraherar URL:er från hyperlänkarna på BDFL:s webbsida. Under resans gång lär du känna soup-metoden find_all() på djupet.
Den här övningen är en del av kursen
Importera data i Python – fortsättningskurs
Övningsinstruktioner
- Använd metoden
find_all()för att hitta alla hyperlänkar isoup. Kom ihåg att hyperlänkar definieras av HTML-taggen<a>, men skickas tillfind_all()utan vinkelparenteser. Spara resultatet i variabelna_tags. - Variabeln
a_tagsär en resultatmängd. Din uppgift är nu att iterera över den med enfor-loop och skriva ut de faktiska URL:erna för hyperlänkarna. Gör det genom att för varje elementlinkia_tagsanropaprint()medlink.get('href').
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 ____:
____