descendants generator – Python Beautifulsoup
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
from bs4 import BeautifulSoup
doc = "<body><b> Hello world </b><body>"
soup = BeautifulSoup(doc, "html.parser" )
tag = soup.body
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
from bs4 import BeautifulSoup
doc = "<body><b> Hello world </b><body>"
soup = BeautifulSoup(doc, "html.parser" )
tag = soup.body
for descendant in tag.descendants:
print ( type (descendant))
|
Output:
<class 'bs4.element.Tag'>
<class 'bs4.element.NavigableString'>
<class 'bs4.element.Tag'>
Share your thoughts in the comments
Please Login to comment...