2025-01-23T11:02:27
This commit is contained in:
@@ -22,4 +22,44 @@
|
||||
|
||||
- Parsel
|
||||
|
||||
* CSS 선택자 기반의 HTML/XML 파싱 라이브러리: Beautiful Soup과 유사하지만 더욱 강력한 기능을 제공합니다.
|
||||
* CSS 선택자 기반의 HTML/XML 파싱 라이브러리: Beautiful Soup과 유사하지만 더욱 강력한 기능을 제공합니다.
|
||||
|
||||
## Beautiful Soup
|
||||
Beautiful Soup은 파이썬에서 HTML 및 XML 문서를 파싱하고 처리하기 위한 파서 라이브러리입니다. 웹 크롤링, 데이터 추출 등 다양한 작업에 활용되며, 복잡한 웹 페이지 구조를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 도와줍니다.
|
||||
|
||||
```bash
|
||||
pip install beautifulsoup4
|
||||
```
|
||||
|
||||
```python
|
||||
from bs4 import BeautifulSoup
|
||||
import requests
|
||||
|
||||
# 웹 페이지 가져오기
|
||||
response = requests.get("https://www.example.com")
|
||||
html = response.text
|
||||
|
||||
# BeautifulSoup 객체 생성
|
||||
soup = BeautifulSoup(html, 'html.parser')
|
||||
|
||||
# 특정 태그 찾기
|
||||
title = soup.title
|
||||
print(title.string)
|
||||
|
||||
# 모든 링크 찾기
|
||||
links = soup.find_all('a')
|
||||
for link in links:
|
||||
print(link.get('href'))
|
||||
```
|
||||
### 주요 메서드
|
||||
* find(): 특정 태그를 하나 찾습니다.
|
||||
* find_all(): 특정 태그를 모두 찾아 리스트로 반환합니다.
|
||||
* select(): CSS 선택자를 사용하여 요소를 찾습니다.
|
||||
* get_text(): 태그 내부의 텍스트를 추출합니다.
|
||||
* get(): 태그의 속성 값을 가져옵니다.
|
||||
|
||||
### 팁
|
||||
* CSS 선택자 활용: CSS 선택자를 이용하면 복잡한 구조의 HTML 문서에서도 원하는 요소를 정확하게 찾을 수 있습니다.
|
||||
* 파서 선택: html.parser 외에도 lxml 등 다른 파서를 사용할 수 있습니다. lxml은 성능이 더 빠르지만 설치가 필요합니다.
|
||||
* 예외 처리: 네트워크 오류나 HTML 구조 변경 등 예상치 못한 상황에 대비하여 예외 처리를 해야 합니다.
|
||||
* XPath 사용: XPath를 사용하여 더욱 복잡한 XPath 표현식으로 요소를 선택할 수 있습니다.
|
||||
Reference in New Issue
Block a user