<Python> 웹 스크래핑을 위한 BeautifulSoup 사용법

반응형

파이썬 웹 스크래핑: BeautifulSoup 사용법

웹 스크래핑이란 웹 사이트의 정보를 추출하는 기술입니다.

이러한 웹 스크래핑을 파이썬에서 구현하기 위해 BeautifulSoup이라는 라이브러리를 사용할 수 있습니다.

이 글에서는 BeautifulSoup을 사용하여 웹 페이지를 스크래핑하는 방법을 알아보겠습니다.

BeautifulSoup 설치

먼저, BeautifulSoup을 사용하려면 해당 라이브러리를 설치해야 합니다. 다음 명령어를 통해 설치할 수 있습니다.

pip install beautifulsoup4

절차

  1. 웹 페이지 가져오기: 웹 페이지의 HTML 코드를 가져옵니다. 이를 위해 requests 라이브러리를 사용합니다.
  2. BeautifulSoup 객체 생성: 가져온 웹 페이지를 BeautifulSoup 객체로 만듭니다.
  3. 원하는 정보 추출: 웹 페이지에서 원하는 정보를 추출합니다.

웹 페이지 가져오기

예제 코드는 다음과 같습니다.

import requests

url = "https://www.example.com"
response = requests.get(url)

print(response.text)

BeautifulSoup 객체 생성

BeautifulSoup 객체를 생성하려면 인터넷에서 가져온 HTML 코드를 인수로 주면 됩니다.

from bs4 import BeautifulSoup
import requests

url = "https://www.example.com"
response = requests.get(url)

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

정보 추출

BeautifulSoup 객체를 이용하여 웹 페이지에서 원하는 정보를 추출합니다.

태그 검색

가장 간단한 방법은 태그 이름으로 검색하는 것입니다. 

first_h1_tag = soup.h1
print(first_h1_tag)

태그의 속성 가져오기

태그의 속성을 가져올 수 있습니다. 예제 코드는 다음과 같습니다.

first_link_tag = soup.a
print(first_link_tag.get("href"))

여러 태그 가져오기

동일한 태그가 여러 개 있는 경우 find_all 메서드를 사용하여 리스트로 가져올 수 있습니다. 

all_h2_tags = soup.find_all("h2")
for h2 in all_h2_tags:
    print(h2)

특정 속성을 가진 태그 가져오기

find 메서드를 사용하여 특정 속성을 가진 태그를 검색할 수 있습니다. 

div_with_id = soup.find("div", id="container")
print(div_with_id)

텍스트 추출

get_text 메서드를 사용하여 태그에서 텍스트를 추출할 수 있습니다.

first_h1_tag = soup.h1
print(first_h1_tag.get_text())

여기서는 BeautifulSoup 라이브러리를 사용하여 웹 스크래핑을 수행하는 방법에 대해 살펴보았습니다.

웹 페이지에서 HTML 코드를 가져와서 원하는 정보를 추출하는 과정을 간단한 코드로 구현할 수 있습니다.

이를 통해 웹 사이트의 데이터를 자동으로 수집하고 분석하여 다양한 목적으로 활용할 수 있습니다. 

감사합니다.

'Developer > Python' 카테고리의 다른 글

<Python> RESTful API 개발과 사용  (0) 2023.08.16
<Python> SQLAlchemy 사용법  (0) 2023.08.15
<Python> JSON 데이터처리  (0) 2023.08.14
<Python> CSV 다루기  (0) 2023.08.13
<Python> 정규 표현식  (0) 2023.08.13

Designed by JB FACTORY