-
[Python] BeautifulSoupBack/Python 2023. 4. 19. 17:40
BeautifulSoup
- 마크업언어(HTML,XML) 문서를 파싱하고 검색할 수 있는 라이브러리
- 간단하고 쉬운 인터페이스를 제공한다
- 파이썬으로 구현되어 있다
- 파이썬 표준 라이브러리인 html.parser 와 다른 파서를 지원한다 (lxml , html5lib)
BeautifulSoup 와 유사한 라이브러리
lxml - C로 구현된 파서로 빠르고 메모리 효율이 좋다
- 복잡하고 덜 직관적인 인터페이스를 제공
- 크롤링 프레임워크인 Scrapy에 내장되어 있다html5lib - 파이썬으로 구현된 파서, 다른 파서에 비해 느리다
- HTML 파싱에 특화되어 있다# cli> pip install beautifulsoup4 from bs4 import BeautifulSoup soup = BeautifulSoup('<b class="boldest">Extremely bold</b>' , 'html.parser' ) tag = soup.b # 태그접근 tag.get("name", "-") # 속성접근 -> "-" tag.text # 텍스트 접근 -> "Extremely bold" tag.name # 태그 이름 접근 -> "title" soup.find("b") soup.find("id="link3")
- BeautifulSoup(markup, parser)
parser 사용법 특징 html.parser BeautifulSoup(markup, "html.parser") lxml BeautifulSoup(markup, "lxml")
BeautifulSoup(markup, ["lxml", "xml"])
BeautifulSoup(markup, "xml")빠르다 html5lib BeautifulSoup(markup, html5lib) 유효하지 않은 태그의 짝을 맞춰 준다
</p> -> <p></p> - prettify() : 들여쓰기를 적용해 HTML 코드를 출력
- select_one(selector) / select(selector)
- find({ name, attrs, recursive, text, kwargs }) /
find_all({ name, attrs, recursive, text, limit, kwargs })- name : 태그 이름 혹은 리스트, 정규표현식, 함수 등으로 검색 "div"
- attrs : 속성 이름과 값으로 검색 {'class':'box'}
- recursive : 자식 태그까지 검색할 지 여부입니다. 기본값은 True
- text : 태그 안의 텍스트 내용으로 검색합니다.
- limit : 반환할 요소의 최대 개수입니다. 기본값은 모든 요소를 반환합니다.
- keyword : 다양한 속성 검색을 위한 인자 (id='some_id’)
- get(name {, default}) : 속성 이름으로 값을 반환한다. 없을 경우 default 반환
'Back > Python' 카테고리의 다른 글
[Python] selenium (0) 2022.12.21 [Python] requests (0) 2022.12.20 [Error] pg_config executable not found. (1) 2022.10.05