[Crawling] BeautifulSoup 모듈

|

html 문자열 파싱하기

html = '''
<html>
  <head>
    <title>BeautifulSoup test</title>
  </head>
  <body>
    <div id='upper' class='test' custom='good'>
      <h3 title='Good Content Title'>Contents Title</h3>
      <p>Test contents</p>
    </div>
    <div id='lower' class='test' custom='nice'>
      <p>Test Test Test 1</p>
      <p>Test Test Test 2</p>
      <p>Test Test Test 3</p>
    </div>
  </body>
</html>'''





from bs4 import BeautifulSoup
soup = BeautifulSoup(html)

find 함수

특정 html 태그를 검색

soup.find('h3')

soup.find('div', class_='test') # class 는 키워드라 못 씀. 그래서 class_

attrs = {'id':'upper', 'class':'test'}
soup.find('div', attrs=attrs)


find_all 함수

조건에 맞는 모든 태그를 리스트로 반환


get_text 함수

tag 안의 value만 추출

부모 태그의 경우, 모든 자식 태그의 value를 추출


attribute 값 추출하기

검색한 태그에서 attribute 이름을 [ ] 연산을 통해 추출이 가능

위의 내용은 fastcampus 강의 내용을 정리한 것임.

Comments