객체 생성자의 두 번째 옵션 인자는 마크업 파서(markup parser)로 이는 HTML 태그와 내용을 추출하는 파이썬 컴포넌트다. BeautifulSoup은 다음 네 가지 파서를 보유하고 있다.
◼︎ "html.parser"(기본 옵션으로 매우 빠르지만, 매우 유연하지는 않다. ‘단순한’ HTML 문서에 사용한다.)
◼︎ "lxml"(매우 빠르고 유연하다.)
◼︎ "xml"(XML 파일에만 사용한다.)
◼︎ "html5lib"(매우 느리지만, 매우 유연하다. 구조가 복잡한 HTML 문서에 사용하거나 파싱 속도를 신경 쓰지 않아도 된다면 모든 HTML 문서 파싱에 사용할 수 있다.)
soup을 준비했다면, soup.prettify() 함수로 마크업 문서를 읽기 쉬운 형태로 출력할 수 있다.
soup.get_text() 함수는 마크업 문서에서 모든 태그를 제거하고 텍스트 부분만 반환한다. 텍스트만 출력하고 싶다면 이 함수를 사용해서 마크업 문서를 플레인 텍스트로 변환할 수 있다.
htmlString = ''' <HTML>
<HEAD><TITLE>My document</TITLE></HEAD>
<BODY>Main text.</BODY></HTML>
'''
soup = BeautifulSoup(htmlString)
soup.get_text()
>>>
'\nMy document\nMain text.\n'