Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Work with Soup | Beautiful Soup
Web Scraping with Python

book
Work with Soup

Continue exploring BeautifulSoup let’s learn some important functions! We can extract not only tag but also their parts (for example, names or attributes):

print(soup.div.name)
print(soup.div.attrs)
12
print(soup.div.name) print(soup.div.attrs)
copy

In the code, we used the method .name to get the tag’s name and the function .attrs, which returns all tag attributes as a dictionary.

Another useful function is .get_text(), which extracts all the raw text from the website without HTML tags.

print(soup.get_text())

The output of the page will contain a lot of extra blank lines. It happened because of newline characters in the initial HTML file.

In a similar way you can also get only text in the extracted HTML tags using the function .get_text() or .string:

print(soup.h1.string)
print(soup.h1.get_text())
12
print(soup.h1.string) print(soup.h1.get_text())
copy

If a tag contains more than one thing (or nothing), it is unclear what .string should refer to, so the function returns None.

Opgave

Swipe to start coding

Here you will work on the same page about Christ the Redeemer as in the previous task.

  1. Import the BeautifulSoup library.
  2. Print the attributes of the p tag.
  3. Print only the text of the ul tags.

Løsning

# Import libraries
from bs4 import BeautifulSoup
from urllib.request import urlopen

# Open the page
url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html"
page = urlopen(url)
html = page.read().decode("utf-8")

# Create the BeautifulSoup object
soup = BeautifulSoup(html, "html.parser")

# Print attributes of the p tag
print(soup.p.attrs)

# Print only the text of the ul tag
print(soup.ul.get_text())

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2
single

single

# Import libraries
from ___ import ___
from urllib.request import urlopen

# Open the page
url = "https://codefinity-content-media.s3.eu-west-1.amazonaws.com/18a4e428-1a0f-44c2-a8ad-244cd9c7985e/jesus.html"
page = urlopen(url)
html = page.read().decode("utf-8")

# Create the BeautifulSoup object
soup = BeautifulSoup(html, "html.parser")

# Print attributes of the p tag
___

# Print only the text of the ul tag
___

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

some-alt