아름다운 수프-페이지 수프
이전 코드 예제에서는 문자열 메서드를 사용하여 아름다운 생성자를 통해 문서를 구문 분석했습니다. 또 다른 방법은 열린 파일 핸들을 통해 문서를 전달하는 것입니다.
from bs4 import BeautifulSoup
with open("example.html") as fp:
soup = BeautifulSoup(fp)
soup = BeautifulSoup("<html>data</html>")
먼저 문서가 유니 코드로 변환되고 HTML 엔티티가 유니 코드 문자로 변환됩니다. </ 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 트리 구조가 있습니다.