w3resource

Python BeautifulSoup: Retrieve all descendants of the body tag from a given web page

BeautifulSoup: Exercise-15 with Solution

Write a Python program to retrieve all descendants of the body tag from a given web page.

Sample Solution:

Python Code:

import requests
from bs4 import BeautifulSoup
url = 'https://www.python.org/'
reqs = requests.get(url)
soup = BeautifulSoup(reqs.text, 'lxml')
print("\nDescendants of the body tag (https://www.python.org):\n")
root = soup.html    
root_childs = [e.name for e in root.descendants if e.name is not None]
print(root_childs)

Sample Output:

Descendants of the body tag (https://www.python.org):

['head', 'meta', 'meta', 'link', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'script', 'link', 'link', 'link', 'link', 'link', 'link', 'link', 'link', 'meta', 'meta', 'meta', 'title', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'meta', 'link', 'link', 'link', 'link', 'link', 'script', 'script', 'body', 'div', 'div', 'p', 'strong', 'div', 'nav', 'div', 'a', 'a', 'span', 'span', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'a', 'span', 'span', 'header', 'div', 'h1', 'a', 'img', 'div', 'a', 'div', 'a', 'span', 'form', 'fieldset', 'span', 'label', 'input', 'button', 'span', 'div', 'ul', 'li', 'a', 'strong', 'small', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'div', 'ul', 'li', 'a', 'ul', 'li', 'a', 'span', 'li', 'a', 'span', 'li', 'a', 'span', 'span', 'nav', 'ul', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'div', 'div', 'ul', 'li', 'a', 'span', 'ul', 'li', 'div', 'pre', 'code', 'span', 'span', 'div', 'h1', 'p', 'a', 'li', 'div', 'pre', 'code', 'span', 'span', 'span', 'span', 'div', 'h1', 'p', 'a', 'li', 'div', 'pre', 'code', 'span', 'span', 'span', 'span', 'span', 'span', 'span', 'div', 'h1', 'p', 'code', 'code', 'code', 'code', 'code', 'a', 'li', 'div', 'pre', 'code', 'span', 'span', 'span', 'span', 'div', 'h1', 'p', 'a', 'li', 'div', 'pre', 'code', 'span', 'span', 'div', 'h1', 'p', 'code', 'code', 'code', 'code', 'a', 'div', 'p', 'span', 'a', 'div', 'div', 'section', 'div', 'span', 'i', 'span', 'a', 'div', 'div', 'h2', 'span', 'p', 'p', 'a', 'div', 'h2', 'span', 'p', 'p', 'a', 'div', 'h2', 'span', 'p', 'p', 'a', 'div', 'h2', 'span', 'p', 'strong', 'p', 'a', 'div', 'div', 'div', 'h2', 'span', 'p', 'a', 'ul', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'div', 'div', 'h2', 'span', 'p', 'a', 'ul', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'li', 'time', 'span', 'a', 'div', 'div', 'div', 'h2', 'span', 'p', 'a', 'div', 'blockquote', 'a', 'table', 'tbody', 'tr', 'td', 'p', 'a', 'em', 'div', 'div', 'h2', 'span', 'p', 'a', 'ul', 'li', 'b', 'span', 'a', 'a', 'a', 'a', 'a', 'a', 'li', 'b', 'span', 'a', 'a', 'a', 'a', 'a', 'a', 'li', 'b', 'span', 'a', 'a', 'a', 'li', 'b', 'span', 'a', 'a', 'a', 'li', 'b', 'span', 'a', 'a', 'a', 'div', 'h2', 'span', 'a', 'span', 'span', 'a', 'span', 'div', 'div', 'h2', 'span', 'a', 'p', 'a', 'p', 'a', 'a', 'footer', 'div', 'div', 'a', 'span', 'span', 'ul', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'ul', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'li', 'a', 'a', 'span', 'span', 'div', 'div', 'ul', 'li', 'a', 'span', 'li', 'a', 'span', 'li', 'a', 'li', 'a', 'span', 'div', 'p', 'small', 'span', 'span', 'a', 'span', 'a', 'span', 'a', 'span', 'a', 'script', 'script', 'script', 'script', 'script']

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to retrieve children of the html tag from a given web page.
Next: Write a Python program to retrieve the HTML code of the title, its text, and the HTML code of its parent.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.