Skip to content
Related Articles

Related Articles

descendants generator – Python Beautifulsoup

View Discussion
Improve Article
Save Article
  • Last Updated : 25 Oct, 2020

descendants 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. The .contents and .children attribute only consider a tag’s direct children. The descendants generator is used to iterate over all of the tag’s children, recursively. Each child is going to be the tag element for the elements and NavigableString for the strings.

Syntax: 

 tag.descendants 

Below given examples explain the concept of descendants generator in Beautiful Soup. 
Example 1: In this example, we are going to get the descendants of an element.

Python3




# Import Beautiful Soup
from bs4 import BeautifulSoup
  
# Create the document
doc = "<body><b> Hello world </b><body>"
  
# Initialize the object with the document
soup = BeautifulSoup(doc, "html.parser")
  
# Get the body tag
tag = soup.body
  
# Print all the descendants of tag
for descendant in tag.descendants:
    print(descendant)

Output: 

<b> Hello world </b>
 Hello world 
<body></body>

Example 2: In this example, we are going to see the type of descendants.

Python3




# Import Beautiful Soup
from bs4 import BeautifulSoup
  
# Create the document
doc = "<body><b> Hello world </b><body>"
  
# Initialize the object with the document
soup = BeautifulSoup(doc, "html.parser")
  
# Get the body tag
tag = soup.body
  
# Print the type of the descendants of tag
for descendant in tag.descendants:
    print(type(descendant))

Output: 

<class 'bs4.element.Tag'>
<class 'bs4.element.NavigableString'>
<class 'bs4.element.Tag'>

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!