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.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/BeautifulSoup/python-beautifulsoup-exercise-15.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics