Красивый суп - приготовление страницы
В предыдущем примере кода мы разбираем документ с помощью красивого конструктора, используя строковый метод. Другой способ - передать документ через открытый дескриптор файла.
from bs4 import BeautifulSoup
with open("example.html") as fp:
soup = BeautifulSoup(fp)
soup = BeautifulSoup("<html>data</html>")
Сначала документ преобразуется в Unicode, а объекты HTML преобразуются в символы Unicode: </p>
import bs4
html = '''<b>tutorialspoint</b>, <i>&web scraping &data science;</i>'''
soup = bs4.BeautifulSoup(html, 'lxml')
print(soup)
Вывод
<html><body><b>tutorialspoint</b>, <i>&web scraping &data science;</i></body></html>
BeautifulSoup затем анализирует данные с помощью синтаксического анализатора HTML, или вы явно указываете ему на синтаксический анализ с помощью анализатора XML.
HTML древовидная структура
Прежде чем мы рассмотрим различные компоненты HTML-страницы, давайте сначала разберемся с древовидной структурой HTML.
Корневым элементом в дереве документа является html, который может иметь родителей, потомков и братьев и сестер, и это определяется его положением в древовидной структуре. Чтобы перемещаться между элементами HTML, атрибутами и текстом, вы должны перемещаться между узлами в своей древовидной структуре.
Предположим, что веб-страница выглядит так, как показано ниже -
Что переводится в html-документ следующим образом:
<html><head><title>TutorialsPoint</title></head><h1>Tutorialspoint Online Library</h1><p<<b>It's all Free</b></p></body></html>
Это просто означает, что для указанного выше html-документа у нас есть древовидная структура html следующим образом: