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.
Python: Tips of the Day
Joining Collection:
name = ["Owen", "Eddie"] print(" ".join(name))
Owen Eddie
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook