본문으로 바로가기

[Crawling] BeautifulSoup 모듈

category AI/데이터분석 2020. 1. 13. 21:52
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

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 강의 내용을 정리한 것임.