반응형
BeautifulSoup 객체에서 사용할 수 있는 주요 메소드들은 HTML 및 XML 문서를 탐색하고 파싱하는 데 유용합니다. 각각의 메소드들은 특정 태그나 요소를 찾거나 필터링하는 데 도움을 줍니다. 주요 메소드들을 설명하자면 다음과 같습니다:
1. find()
- 특정 조건에 맞는 첫 번째 태그를 반환합니다.
예시:
python
first_link = soup.find('a')
2. find_all()
- 조건에 맞는 모든 태그를 리스트 형태로 반환합니다.
예시:
python
all_links = soup.find_all('a')
3. select()
- CSS 선택자를 사용하여 태그를 선택합니다.
예시:
python
코드 복사
elements = soup.select('.class-name')
4. select_one()
- CSS 선택자를 사용하여 첫 번째로 일치하는 태그를 반환합니다.
예시:
python
element = soup.select_one('.class-name')
5. get_text()
- 해당 태그의 모든 자손을 포함한 텍스트를 반환합니다. 여러 요소의 텍스트를 한꺼번에 추출할 수 있습니다.
예시:
python
text = soup.get_text()
6. find_parents()
- 특정 조건에 맞는 부모 태그를 모두 반환합니다.
예시:
python
parents = tag.find_parents('div')
7. find_parent()
- 조건에 맞는 첫 번째 부모 태그를 반환합니다.
예시:
python
parent = tag.find_parent('div')
8. find_next_sibling()
- 현재 태그의 다음 형제 태그를 찾습니다.
예시:
python
next_sibling = tag.find_next_sibling()
9. find_previous_sibling()
- 현재 태그의 이전 형제 태그를 찾습니다.
예시:
python
previous_sibling = tag.find_previous_sibling()
10. find_next_siblings()
- 현재 태그의 모든 다음 형제 태그를 리스트로 반환합니다.
예시:
python
next_siblings = tag.find_next_siblings()
11. find_previous_siblings()
- 현재 태그의 모든 이전 형제 태그를 리스트로 반환합니다.
예시:
python
previous_siblings = tag.find_previous_siblings()
12. find_all_next()
- 현재 태그 이후의 모든 태그를 반환합니다.
예시:
python
all_next = tag.find_all_next()
13. find_all_previous()
- 현재 태그 이전의 모든 태그를 반환합니다.
예시:
python
all_previous = tag.find_all_previous()
14. decompose()
- 해당 태그와 그 안의 모든 자손 태그를 제거합니다.
예시:
python
tag.decompose()
15. replace_with()
- 현재 태그를 다른 태그로 교체합니다.
예시:
python
tag.replace_with(soup.new_tag('div'))
16. attrs
- 태그의 속성을 딕셔너리로 반환합니다.
예시:
python
attrs = tag.attrs
이 메소드들을 적절히 활용하면 BeautifulSoup을 사용하여 HTML 문서를 매우 효과적으로 탐색하고 처리할 수 있습니다.
반응형