Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen 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.

python
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.

Aufgabe

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ösung

# 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())

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
# 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
___

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

We use cookies to make your experience better!
some-alt