본문 바로가기
Programming/AI

파이썬 BeautifulSoup으로 간단하게 html 분석하는 방법

by 제타 2018. 6. 11.
반응형

스크랩핑이란 웹에서 데이터를 추출하고 원하는 정보를 추출하는 것이다.

스크랩핑을 잘하면 데이터를 잘 수집할 수 있다.


그 중에서 BeautifulSoup이라는 라이브러리를 이용하면 HTML과 XML에서 간단하게 정보를 추출할 수 있다.

최근 스크랩핑 라이브러리에는 다운로드부터 HTML 분석까지 되는 경우가 많은데 BeautifulSoup는 자체 다운로드 기능이 없다.


먼저 cmd 창으로 C:\WINDOWS\system32>pip install beautifulsoup4 를 설치했다.


그리고 파이썬 코드로 간단하게 html형태의 변수를 만들었다.



from bs4 import BeautifulSoup


html = """

<html><body>

  <h1>h1입니다</h1>

  <p>첫번째 p태그</p>

  <p>두번째 p태그</p>

  <p>세번째 p태그</p>

</body></html>

"""

soup = BeautifulSoup(html, 'html.parser')

h1 = soup.html.body.h1

p1 = soup.html.body.p

p2 = p1.next_sibling.next_sibling

p3 = p2.next_sibling.next_sibling

print("h1 = " + h1.string)

print("p  = " + p1.string)

print("p  = " + p2.string)

print("p  = " + p3.string)



실행하면 다음처럼 추출이 됐다.



이 방법외에도 id로 요소를 추출하는 방법이 있다.

바로 find() 메서드를 사용하면 된다.


from bs4 import BeautifulSoup 

html = """

<html><body>

  <h1 id="title">h1입니다</h1>

  <p id="body">p태그</p>

</body></html>

"""


soup = BeautifulSoup(html, 'html.parser')


title = soup.find(id="title")

body  = soup.find(id="body")

print("#title=" + title.string)

print("#body="  + body.string)


실행하면 다음과 같다.





반응형