2025-02-10T04:38:26
This commit is contained in:
@@ -25,7 +25,8 @@
|
|||||||
* CSS 선택자 기반의 HTML/XML 파싱 라이브러리: Beautiful Soup과 유사하지만 더욱 강력한 기능을 제공합니다.
|
* CSS 선택자 기반의 HTML/XML 파싱 라이브러리: Beautiful Soup과 유사하지만 더욱 강력한 기능을 제공합니다.
|
||||||
|
|
||||||
## Beautiful Soup
|
## Beautiful Soup
|
||||||
Beautiful Soup은 파이썬에서 HTML 및 XML 문서를 파싱하고 처리하기 위한 파서 라이브러리입니다. 웹 크롤링, 데이터 추출 등 다양한 작업에 활용되며, 복잡한 웹 페이지 구조를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 도와줍니다.
|
Beautiful Soup은 파이썬에서 HTML 및 XML 문서를 파싱하고 처리하기 위한 파서 라이브러리입니다.
|
||||||
|
웹 크롤링, 데이터 추출 등 다양한 작업에 활용되며, 복잡한 웹 페이지 구조를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 도와줍니다.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pip install beautifulsoup4
|
pip install beautifulsoup4
|
||||||
@@ -51,6 +52,7 @@ links = soup.find_all('a')
|
|||||||
for link in links:
|
for link in links:
|
||||||
print(link.get('href'))
|
print(link.get('href'))
|
||||||
```
|
```
|
||||||
|
|
||||||
### 주요 메서드
|
### 주요 메서드
|
||||||
* select(): CSS 선택자를 사용하여 요소를 찾아 리스트로 반환합니다.
|
* select(): CSS 선택자를 사용하여 요소를 찾아 리스트로 반환합니다.
|
||||||
* select_one(): CSS 선택자를 사용하여 요소를 찾습니다.
|
* select_one(): CSS 선택자를 사용하여 요소를 찾습니다.
|
||||||
@@ -59,15 +61,37 @@ for link in links:
|
|||||||
* get_text(): 태그 내부의 텍스트를 추출합니다.
|
* get_text(): 태그 내부의 텍스트를 추출합니다.
|
||||||
* get(): 태그의 속성 값을 가져옵니다.
|
* get(): 태그의 속성 값을 가져옵니다.
|
||||||
|
|
||||||
|
BeautifulSoup 객체를 사용하여 다양한 방법으로 원하는 요소를 검색할 수 있습니다.
|
||||||
```python
|
```python
|
||||||
# 모든 'a' 태그 찾기
|
title = soup.find("title") # 첫 번째 title 태그 검색
|
||||||
links = soup.find_all('a')
|
h1 = soup.find("h1") # 첫 번째 h1 태그 검색
|
||||||
|
|
||||||
# id가 'my-title'인 태그 찾기
|
titles = soup.find_all("title") # 모든 title 태그 검색
|
||||||
title = soup.find(id='my-title')
|
h1s = soup.find_all("h1") # 모든 h1 태그 검색
|
||||||
|
|
||||||
# class가 'product'인 모든 div 태그 찾기
|
div = soup.find("div", {"id": "my-div"}) # id가 "my-div"인 div 태그 검색
|
||||||
products = soup.find_all('div', class_='product')
|
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 속성 값 추출
|
||||||
```
|
```
|
||||||
|
|
||||||
### 팁
|
### 팁
|
||||||
|
|||||||
Reference in New Issue
Block a user