diff --git a/doc/20_01_html_parser.md b/doc/20_01_html_parser.md index 31db55a..24fede1 100644 --- a/doc/20_01_html_parser.md +++ b/doc/20_01_html_parser.md @@ -25,7 +25,8 @@ * CSS 선택자 기반의 HTML/XML 파싱 라이브러리: Beautiful Soup과 유사하지만 더욱 강력한 기능을 제공합니다. ## Beautiful Soup -Beautiful Soup은 파이썬에서 HTML 및 XML 문서를 파싱하고 처리하기 위한 파서 라이브러리입니다. 웹 크롤링, 데이터 추출 등 다양한 작업에 활용되며, 복잡한 웹 페이지 구조를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 도와줍니다. +Beautiful Soup은 파이썬에서 HTML 및 XML 문서를 파싱하고 처리하기 위한 파서 라이브러리입니다. +웹 크롤링, 데이터 추출 등 다양한 작업에 활용되며, 복잡한 웹 페이지 구조를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 도와줍니다. ```bash pip install beautifulsoup4 @@ -51,6 +52,7 @@ links = soup.find_all('a') for link in links: print(link.get('href')) ``` + ### 주요 메서드 * select(): CSS 선택자를 사용하여 요소를 찾아 리스트로 반환합니다. * select_one(): CSS 선택자를 사용하여 요소를 찾습니다. @@ -59,15 +61,37 @@ for link in links: * get_text(): 태그 내부의 텍스트를 추출합니다. * get(): 태그의 속성 값을 가져옵니다. +BeautifulSoup 객체를 사용하여 다양한 방법으로 원하는 요소를 검색할 수 있습니다. ```python -# 모든 'a' 태그 찾기 -links = soup.find_all('a') +title = soup.find("title") # 첫 번째 title 태그 검색 +h1 = soup.find("h1") # 첫 번째 h1 태그 검색 -# id가 'my-title'인 태그 찾기 -title = soup.find(id='my-title') +titles = soup.find_all("title") # 모든 title 태그 검색 +h1s = soup.find_all("h1") # 모든 h1 태그 검색 -# class가 'product'인 모든 div 태그 찾기 -products = soup.find_all('div', class_='product') +div = soup.find("div", {"id": "my-div"}) # id가 "my-div"인 div 태그 검색 +a = soup.find("a", {"href": "/product/1"}) # href가 "/product/1"인 a 태그 검색 + +divs = soup.find_all("div", {"class": "item"}) # class가 "item"인 모든 div 태그 검색 +as = soup.find_all("a", {"target": "_blank"}) # target이 "_blank"인 모든 a 태그 검색 + +title = soup.select_one("title") # 첫 번째 title 태그 검색 +h1 = soup.select_one("h1") # 첫 번째 h1 태그 검색 + +titles = soup.select("title") # 모든 title 태그 검색 +h1s = soup.select("h1") # 모든 h1 태그 검색 + +item = soup.select_one("#my-div") # id가 "my-div"인 요소 검색 +items = soup.select(".item") # class가 "item"인 모든 요소 검색 +``` + +검색된 요소에서 텍스트, 속성 값 등을 추출할 수 있습니다. +```python +title_text = title.text # title 태그의 텍스트 내용 추출 +h1_text = h1.get_text() # h1 태그의 텍스트 내용 추출 + +href = a["href"] # a 태그의 href 속성 값 추출 +target = a.get("target") # a 태그의 target 속성 값 추출 ``` ### 팁