”;
Method Description
The contents property is available with the Soup object as well as Tag object. It returns a list everything that is contained inside the object, all the immediate child elements and text nodes (i.e. Navigable String).
Syntax
Tag.contents
Return value
The contents property returns a list of child elements and strings in the Tag/Soup object,.
Example 1
Contents of a tag object −
from bs4 import BeautifulSoup markup = '''''' <div id="Languages"> <p>Java</p> <p>Python</p> <p>C++</p> </div> '''''' soup = BeautifulSoup(markup, ''html.parser'') tag = soup.div print (tag.contents)
Output
[''n'', <p>Java</p>, ''n'', <p>Python</p>, ''n'', <p>C++</p>, ''n'']
Example 2
Contents of the entire document −
from bs4 import BeautifulSoup, NavigableString markup = '''''' <div id="Languages"> <p>Java</p> <p>Python</p> <p>C++</p> </div> '''''' soup = BeautifulSoup(markup, ''html.parser'') print (soup.contents)
Output
[''n'', <div id="Languages"> <p>Java</p> <p>Python</p> <p>C++</p> </div>, ''n'']
Example 3
Note that a NavigableString object doesn”t have contents property. It throws AttributeError if we try to access the same.
from bs4 import BeautifulSoup, NavigableString markup = '''''' <div id="Languages"> <p>Java</p> <p>Python</p> <p>C++</p> </div> '''''' soup = BeautifulSoup(markup, ''html.parser'') tag = soup.p s=tag.contents[0] print (s.contents)
Output
Traceback (most recent call last): File "C:UsersuserBeautifulSoup2.py", line 11, in <module> print (s.contents) ^^^^^^^^^^ File "C:UsersuserBeautifulSoupLibsite-packagesbs4element.py", line 984, in __getattr__ raise AttributeError( AttributeError: ''NavigableString'' object has no attribute ''contents''
Advertisements
”;