[파이썬] 웹 페이지의 테이블 추출
웹 페이지에서 테이블 데이터를 추출하는 것은 데이터 크롤링, 웹 스크래핑 및 데이터 분석에 매우 유용한 작업입니다. 이러한 테이블 데이터를 추출하면 웹 페이지의 구조화된 정보를 쉽게 사용할 수 있으며, 필요한 데이터를 추출하고 변환하는 데 도움이 됩니다.
이번 포스트에서는 Python을 사용하여 웹 페이지에서 테이블 데이터를 추출하는 방법을 살펴보겠습니다.
라이브러리 설치
데이터 추출을 위해 우리는 BeautifulSoup 라이브러리를 사용할 것입니다. 아래의 명령을 터미널에서 실행하여 라이브러리를 설치합니다.
pip install beautifulsoup4
웹 페이지에서 테이블 추출하기
우리는 예시로 테스트할 웹 페이지에서 테이블 데이터를 추출해보겠습니다. 아래와 같은 HTML 코드로 구성된 테이블을 추출할 것입니다.
<table>
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
<tr>
<td>John</td>
<td>28</td>
<td>개발자</td>
</tr>
<tr>
<td>Jane</td>
<td>32</td>
<td>디자이너</td>
</tr>
<tr>
<td>Mike</td>
<td>25</td>
<td>마케팅</td>
</tr>
</table>
위에서 설치한 BeautifulSoup를 사용하여 이 테이블 데이터를 추출하는 코드를 작성해보겠습니다.
from bs4 import BeautifulSoup
html = '''
<table>
<tr>
<th>이름</th>
<th>나이</th>
<th>직업</th>
</tr>
<tr>
<td>John</td>
<td>28</td>
<td>개발자</td>
</tr>
<tr>
<td>Jane</td>
<td>32</td>
<td>디자이너</td>
</tr>
<tr>
<td>Mike</td>
<td>25</td>
<td>마케팅</td>
</tr>
</table>
'''
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table') # 테이블 요소 찾기
rows = table.find_all('tr') # 모든 행 찾기
for row in rows:
cells = row.find_all('td') # 각 행의 셀 찾기
for cell in cells:
print(cell.text) # 텍스트 출력
print('---') # 행 구분
위의 코드는 해당하는 테이블의 각 셀을 출력합니다. 결과는 다음과 같습니다.
John
28
개발자
---
Jane
32
디자이너
---
Mike
25
마케팅
---
이렇게 웹 페이지에서 테이블 데이터를 추출하는 간단한 예를 살펴보았습니다. BeautifulSoup 라이브러리는 다양한 기능을 제공하므로 복잡한 테이블 구조에서도 데이터 추출을 할 수 있습니다. 이를 통해 웹 페이지의 테이블 데이터를 손쉽게 활용할 수 있습니다.
Python의 BeautifulSoup를 사용하여 웹 페이지에서 테이블 데이터를 추출하는 방법에 대해 알아보았습니다. 이를 응용하여 다양한 웹 페이지에서 원하는 데이터를 추출해보세요. Happy coding!