Bela Sopa - Expandindo a Página
No exemplo de código anterior, analisamos o documento por meio de um belo construtor usando um método de string. Outra maneira é passar o documento por meio de um gerenciador de arquivos aberto.
from bs4 import BeautifulSoup
with open("example.html") as fp:
soup = BeautifulSoup(fp)
soup = BeautifulSoup("<html>data</html>")
Primeiro, o documento é convertido em Unicode e as entidades HTML são convertidas em caracteres Unicode: </p>
import bs4
html = '''<b>tutorialspoint</b>, <i>&web scraping &data science;</i>'''
soup = bs4.BeautifulSoup(html, 'lxml')
print(soup)
Resultado
<html><body><b>tutorialspoint</b>, <i>&web scraping &data science;</i></body></html>
BeautifulSoup analisa os dados usando um analisador HTML ou você explicitamente diz a ele para analisar usando um analisador XML.
Estrutura da árvore HTML
Antes de examinarmos os diferentes componentes de uma página HTML, vamos primeiro entender a estrutura da árvore HTML.
O elemento raiz na árvore do documento é o html, que pode ter pais, filhos e irmãos e isso é determinado por sua posição na estrutura da árvore. Para mover-se entre os elementos, atributos e texto HTML, você deve mover-se entre os nós da estrutura em árvore.
Suponhamos que a página da web seja conforme mostrado abaixo -
Que se traduz em um documento html da seguinte maneira -
<html><head><title>TutorialsPoint</title></head><h1>Tutorialspoint Online Library</h1><p<<b>It's all Free</b></p></body></html>
O que significa simplesmente que, para o documento html acima, temos uma estrutura de árvore html como segue -