Python BeautifulSoup: получение всех потомков тега body с заданной веб-страницы
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 программирования
disqus2code