NavigableString class is provided by Beautiful Soup which is a web scraping framework for Python. Web scraping is the process of extracting data from the website using automated tools to make the process faster. A string corresponds to a bit of text within a tag. Beautiful Soup uses the NavigableString class to contain these bits of text.
Syntax:
<tag> String here </tag>
Below given examples explain the concept of NavigableString class in Beautiful Soup.
Example 1: In this example, we are going to see the type of a string.
Python3
# Import Beautiful Soup from bs4 import BeautifulSoup # Initialize the object with a HTML page soup = BeautifulSoup( ''' <html> <h2> Heading 1 </h2> <h1> Heading 2 </h1> </html> ''' , "lxml" ) # Get the whole h2 tag tag = soup.h2 # Get the string inside the tag string = tag.string # Print the type print ( type (string)) |
Output:
<class 'bs4.element.NavigableString'>
Example 2: In this example we are going to convert the NavigableString to a Unicode string.
Python3
# Import Beautiful Soup from bs4 import BeautifulSoup # Initialize the object with a HTML page soup = BeautifulSoup( ''' <html> <h2> Heading 1 </h2> <h1> Heading 2 </h1> </html> ''' , "lxml" ) # Get the whole h2 tag tag = soup.h2 # Get the string inside the tag and convert # it into string string = str (tag.string) # Print the type print ( type (string)) |
Output:
<type 'str'>