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

book
Work with the Library

Regular expressions are great for matches but a bit inconvenient. Python provides us with an instrumental library for web scrapping - BeautifulSoup!

BeautifulSoup makes it easy to go through HTML files and extract the parts we are interested in. To import the library, use:

python
from bs4 import BeautifulSoup

To create the first object and start iterating with the website, use the following code:

python
soup = BeautifulSoup(html, "html.parser")

We assign the Beautiful Object to the variable soup with two parameters. The first one is the HTML file we want to parse. The second argument tells which parser to use. "html.parser" corresponds to Python's built-in HTML parser.

BeautifulSoup is highly comfortable to work with since you don't need to write regexes or additional conditions to extract the data from tags.

For instance, let's get the first tag of the type title from the website:

print(soup.title)
1
print(soup.title)
copy

BeautifulSoup can also help to convert websites into DataFrames (using pandas), which are easier to manipulate. We will learn how to do this in the following chapters.

Task

Swipe to start coding

Print the first h1 of the page tag using BeautifulSoup:

  1. Import the needed library.
  2. Create the BeautifulSoup object and assign it to the variable soup.
  3. Print the first h1 tag using the variable soup.

Solution

# 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 the first h1 tag
print(soup.h1)

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 1
# 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 = ___(___, "___")

# Print the first h1 tag
___
toggle bottom row
We use cookies to make your experience better!
some-alt