Python
BeautifulSoup parsers : 소스코드 해석기
finterstellar
2019. 10. 4. 00:53
웹 크롤링, 즉 외부데이터 수집을 위해 BeautifulSoup 을 이용하다보면 어떤 parser (소스코드 해석기)를 이용할지 고민하는 경우가 있습니다.
이참에 한번 정리하고 넘어갈께요.
아래는 BeautifulSoup 공식 웹사이트에 나온 설명 입니다.
Parser | Typical usage | Advantages | Disadvantages |
Python’s html.parser | BeautifulSoup(markup, "html.parser") |
|
|
lxml’s HTML parser | BeautifulSoup(markup, "lxml") |
|
|
lxml’s XML parser | BeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup, "xml") |
|
|
html5lib | BeautifulSoup(markup, "html5lib") |
|
|
해석을 하자면,
해석기 | 사용 예 | 장점 | 단점 |
html.parser (Python 자체) | BeautifulSoup(markup, "html.parser") |
|
|
HTML parser (lxml) | BeautifulSoup(markup, "lxml") |
|
|
XML parser (lxml) | BeautifulSoup(markup, "lxml-xml") BeautifulSoup(markup, "xml") |
|
|
html5lib (html5lib) | BeautifulSoup(markup, "html5lib") |
|
|
정리하면,
- 왠만하면 lxml 을 사용하고,
- 정 안되면 html5lib 를 설치한 후 이걸 이용하는게 좋을 듯 합니다.