”;
Method Description
The parents property in BeautifulSoup library retrieves all the parent elements of the said PegeElement in a recursive manner. The type of the value returned by the parents property is a generator, with the help of which we can list out the parents in the down-to-up order.
Syntax
Element.parents
Return value
The parents property returns a generator object.
Example 1
This example uses .parents to travel from an <a> tag buried deep within the document, to the very top of the document. In the following code, we track the parents of the first <p> tag in the example HTML string.
html = """ <html><head><title>TutorialsPoint</title></head> <body> <p>Hello World</p> """ from bs4 import BeautifulSoup soup = BeautifulSoup(html, ''html.parser'') tag = soup.p for element in tag.parents: print (element.name)
Output
body html [document]
Note that the parent to the BeautifulSoup object is [document].
Example 2
In the following example, we see that the <b> tag is enclosed inside a <p> tag. The two div tags above it have an id attribute. We try to print the only those elements having id attribute. The has_attr() method is used for the purpose.
html = """ <div id="outer"> <div id="inner"> <p>Hello<b>World</b></p> </div> </div> """ from bs4 import BeautifulSoup soup = BeautifulSoup(html, ''html.parser'') tag = soup.b for parent in tag.parents: if parent.has_attr("id"): print(parent["id"])
Output
inner outer
”;