웹 크롤링, 즉 외부데이터 수집을 위해 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 를 설치한 후 이걸 이용하는게 좋을 듯 합니다.
'Python' 카테고리의 다른 글
Flask 8 : 블로그 블루프린트 (0) | 2019.10.03 |
---|---|
Flask 7 : 정적 파일 (0) | 2019.09.08 |
Flask 6 : 템플릿 (0) | 2019.09.06 |
Flask 5 : 블루프린트와 뷰 (0) | 2019.08.28 |
Flask 4 : DB 구축 (1) | 2019.08.28 |