본문 바로가기
IT 꿀팁

【파이썬 Beautiful soup의 모든 메소드 정리】 (웹사이트 크롤링 html 파싱하기)

by GGhool tip 1min 2024. 9. 16.
반응형

파이썬 Beautiful soup의 모든 메소드 정리
파이썬 Beautiful soup의 모든 메소드 정리

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 문서를 매우 효과적으로 탐색하고 처리할 수 있습니다.

 

반응형