본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 웹 스크래핑하기: BeautifulSoup 사용법

by 포탈메이커 2023. 7. 11.

파이썬으로 웹 스크래핑하기: BeautifulSoup 사용법

 

웹 스크래핑은 웹 페이지에서 필요한 정보를 추출하는 기술입니다. 파이썬의 BeautifulSoup 라이브러리를 사용하면 손쉽게 웹 스크래핑을 할 수 있습니다.

이번 포스팅에서는 BeautifulSoup의 기본 사용법을 알아보겠습니다.

1. BeautifulSoup 설치하기

먼저 BeautifulSoup를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.

 

pip install beautifulsoup4

2. 필요한 모듈과 데이터 가져오기

먼저 필요한 모듈을 가져옵니다.

 

from bs4 import BeautifulSoup
import requests

 

웹 스크래핑을 위해서는 웹 페이지의 HTML 소스코드가 필요합니다. 이를 얻기 위해 requests 모듈을 사용하여 웹 페이지에 GET 요청을 보냅니다.

 

url = "https://example.com"  # 스크래핑할 웹 페이지의 URL

response = requests.get(url)  # GET 요청을 보내고 응답을 받습니다.

html = response.text  # HTML 소스코드를 가져옵니다.

3. BeautifulSoup 객체 생성하기

HTML 소스코드를 얻었다면, 이를 BeautifulSoup 객체로 변환합니다. BeautifulSoup 객체를 생성할 때는 두 가지 인자를 넣어줍니다.

 

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

 

두 번째 인자로 "html.parser"를 넣어주면 BeautifulSoup에서 기본적으로 제공하는 HTML 파서를 사용하게 됩니다.


4. 원하는 데이터 추출하기

BeautifulSoup 객체를 생성했다면, 이제 HTML 소스코드에서 원하는 데이터를 추출할 수 있습니다. 가장 기본적인 데이터 추출 방법으로는 태그 이름을 사용하는 방법입니다. 아래 예제는 HTML 소스코드에서 모든 <a> 태그를 찾아와 출력하는 예제입니다.

 

for link in soup.find_all("a"):

    print(link.get("href"))

 

여기서 find_all() 함수는 HTML 소스코드에서 모든 해당 태그를 찾아 리스트로 반환합니다. 그리고 get() 함수를 사용하여 해당 태그의 속성 값을 가져올 수 있습니다.


5. 추가적인 데이터 추출 방법

BeautifulSoup는 다양한 방법을 제공하여 데이터를 추출할 수 있습니다.

 

  • find(name, attrs, recursive, text, **kwargs): 해당 조건에 맞는 첫 번째 태그를 반환합니다.
  • find_all(name, attrs, recursive, text, limit, **kwargs): 해당 조건에 맞는 모든 태그를 리스트로 반환합니다.
  • select_one(selector): CSS 선택자를 사용하여 해당 조건에 맞는 첫 번째 태그를 반환합니다.
  • select(selector): CSS 선택자를 사용하여 해당 조건에 맞는 모든 태그를 리스트로 반환합니다.

 

각각의 함수는 조건을 지정하여 원하는 데이터를 추출할 수 있도록 도와줍니다.


6. 결론

이번 포스팅에서는 파이썬으로 웹 스크래핑을 하는 데 유용한 BeautifulSoup 라이브러리의 사용법을 알아보았습니다. BeautifulSoup을 사용하면 손쉽게 HTML 소스코드에서 필요한 데이터를 추출할 수 있습니다.

 

추가적인 기능은 BeautifulSoup 공식 문서를 참고하면 더욱 다양한 웹 스크래핑을 할 수 있을 것입니다.

 

감사합니다.

 

포스팅이 도움이 되셨다면 구독, 공감, 댓글 부탁드려요!

행복한 하루 되세요!