кодесурса
«BeautifulSoup

Python BeautifulSoup: получение всех потомков тега body с заданной веб-страницы

script1adsense2code
script1adsense3code

BeautifulSoup: упражнение 15 с решением

Напишите программу на Python для извлечения всех потомков тега body с заданной веб-страницы.

Пример решения :

Код Python:

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)

Пример вывода:

 Потомки тега body (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 ' , «мета», «заголовок», «мета», «мета», «мета», «мета», «мета», «мета», «мета», «мета», «мета», «ссылка», « link ',' link ',' link ',' link ',' script ',' script ',' body ',' body ',' 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 ',' sp an ',' div ',' p ',' small ',' span ',' span ',' a ',' span ',' a ',' span ',' a ',' span ',' a ' , 'скрипт', 'скрипт', 'скрипт', 'скрипт', 'скрипт']

Редактор кода Python:

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Previous: написать программу на Python для извлечения дочерних тегов html с заданной веб-страницы.
Далее: Напишите программу на Python для извлечения HTML-кода заголовка, его текста и HTML-кода его родителя.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code