[python] Beautiful Soup로 웹 페이지의 모든 테이블 추출하기

Beautiful Soup 은 Python 의 웹 스크래핑 라이브러리로, HTML 및 XML 파일에서 정보를 추출하는 데 사용됩니다. 이번 포스트에서는 Beautiful Soup 을 사용하여 웹 페이지에서 모든 테이블을 추출하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

Beautiful Soup 을 사용하기 위해서는 먼저 해당 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install beautifulsoup4

웹 페이지에서 테이블 추출하기

  1. Beautiful Soup 모듈을 임포트합니다.
from bs4 import BeautifulSoup
  1. 웹 페이지의 HTML 문자열 또는 URL을 Beautiful Soup 에서 파싱하여 객체를 만듭니다.
html = """
<html>
<body>
<table>
<thead>
<tr>
<th>이름</th>
<th>나이</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>25</td>
</tr>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
</tbody>
</table>
</body>
</html>
"""

soup = BeautifulSoup(html, "html.parser")
  1. soup 객체를 사용하여 웹 페이지에서 모든 테이블을 추출합니다.
tables = soup.find_all("table")
  1. 추출한 테이블을 순회하며 테이블 내부의 데이터를 추출할 수 있습니다.
for table in tables:
    rows = table.find_all("tr")
    for row in rows:
        cells = row.find_all("td")
        for cell in cells:
            print(cell.get_text())
        print("---")

위의 예제 코드는 HTML 문자열에서 테이블을 추출하는 방법을 보여주고 있습니다. 만약 웹 페이지의 URL을 사용하려면 requests 라이브러리와 함께 사용하여 HTML을 가져올 수 있습니다.

Beautiful Soup 에는 다양한 메소드와 기능이 있으며, 이를 활용하여 웹 스크래핑 작업을 수행할 수 있습니다. 자세한 내용은 Beautiful Soup 공식 문서를 참고하시기 바랍니다.

이상으로 Beautiful Soup 을 사용하여 웹 페이지에서 모든 테이블을 추출하는 방법에 대해 알아보았습니다.