strings generator 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. One drawback of the string attribute is that it only works for tags with string inside it and returns nothing for tags with further tags inside it. Thus to resolve this issue, a strings generator is used to get all the strings inside a tag, recursively.
Syntax:
tag.strings
Below given examples explain the concept of strings in Beautiful Soup.
Example 1: In this example, we are going to get the strings.
Python3
# Import Beautiful Soup from bs4 import BeautifulSoup # Create the document doc = "<body><b> Hello world </b><h1> New heading </h1><body>" # Initialize the object with the document soup = BeautifulSoup(doc, "html.parser" ) # Get the whole body tag tag = soup.body # Print each string recursively for string in tag.strings: print (string) |
Output:
Hello world New heading
Example 2:
Python3
import requests from bs4 import BeautifulSoup # url of the website # getting response object res = requests.get(doc) # Initialize the object with the document soup = BeautifulSoup(res.content, "html.parser" ) # Get the whole body tag tag = soup.body # Print each string recursively for string in tag.strings: print (string) |
Output: