Przekształcanie strony internetowej w dane za pomocą BeautifulSoup: pobieranie hiperłączy
W tym ćwiczeniu dowiesz się, jak wyodrębnić adresy URL hiperłączy ze strony BDFL. Przy okazji dobrze poznasz metodę find_all() obiektu soup.
To ćwiczenie jest częścią kursu
Importowanie danych w Pythonie – poziom średniozaawansowany
Instrukcje do ćwiczenia
- Użyj metody
find_all(), aby znaleźć wszystkie hiperłącza w obiekciesoup. Pamiętaj, że hiperłącza są oznaczane tagiem HTML<a>, który przekazujesz dofind_all()bez nawiasów kątowych. Wynik zapisz w zmienneja_tags. - Zmienna
a_tagszawiera zbiór wyników: twoim zadaniem jest teraz przejście przez nią za pomocą pętlifori wyświetlenie rzeczywistych adresów URL hiperłączy. W tym celu, dla każdego elementulinkwa_tags, wywołajprint()z argumentemlink.get('href').
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 ____:
____