웹 스크래핑 도구에 대한 전반적인 이해를 높이기 위해 Selenium과 BeautifulSoup 관련 강의를 수강했습니다. 단순히 도구 사용법을 넘어서, 실무에서의 활용 전략과 각 도구의 장단점을 깊이 있게 배울 수 있었던 시간이었습니다.
도구 선택의 기준을 배웠다
강의에서 가장 인상 깊었던 부분 중 하나는 도구 선택 기준을 명확히 짚어줬다는 점입니다.
Selenium | 동적 웹페이지 대응. 실제 브라우저처럼 페이지를 제어 가능 |
BeautifulSoup | 정적 HTML 파싱에 강함. 가볍고 빠르게 원하는 정보 추출 가능 |
실제로 실무에서는 하나만 사용하는 경우보다 두 도구를 조합해서 사용하는 사례가 많다는 것도 이해할 수 있었습니다.
BeautifulSoup를 통한 HTML 구조 분석
강의 초반에는 BeautifulSoup에 대해 다뤘습니다. 정적 웹페이지를 크롤링할 때 유용한 방식으로, 구조만 명확하면 정말 쉽게 필요한 데이터를 추출할 수 있었습니다.
from bs4 import BeautifulSoup
import requests
url = 'https://example.com'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
titles = soup.find_all('h2', class_='post-title')
for title in titles:
print(title.get_text())
find(), find_all(), get_text() 등 핵심 메서드들에 대한 설명도 충분히 들어 있어 실습에 바로 적용할 수 있었습니다.
Selenium의 강력한 동적 웹 제어 기능
다음은 Selenium. 자바스크립트로 로딩되는 페이지나, 버튼을 클릭해야 정보를 볼 수 있는 웹사이트에서 필수적인 도구입니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://example.com")
element = driver.find_element(By.CLASS_NAME, "product-title")
print(element.text)
driver.quit()
이 강의에서 Selenium은 단순한 get()이나 click()뿐 아니라, 명시적 대기(Explicit Wait), 예외 처리, 페이지 이동 등 실무에서 필요한 부분까지 매우 디테일하게 다루고 있어서 좋았습니다.
두 도구의 시너지: 통합 활용 예시
강의 후반부에서는 Selenium으로 페이지를 로딩한 뒤, BeautifulSoup으로 데이터를 파싱하는 방식도 배웠습니다.
driver = webdriver.Chrome()
driver.get("https://example.com")
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
이 조합은 복잡한 웹사이트에서도 구조적이고 효율적으로 데이터를 수집할 수 있는 강력한 방식이었습니다. 개인적으로 실무에 바로 써먹을 수 있을 정도로 유용했습니다.
실무 적용 전략까지 함께 배운 점이 좋았다
단순한 문법이나 기능 설명을 넘어서, 실제 크롤링 업무에 적용할 수 있는 전략적인 접근 방식도 함께 배웠습니다.
- 반복 작업은 함수로 정리하여 재사용성 확보
- 불안정한 요소에는 예외 처리 및 명시적 대기 적용
- 크롤링 대상 사이트의 robots.txt 정책 확인 강조
이러한 조언들이 실제 프로젝트를 설계할 때 큰 도움이 될 것 같습니다.
마무리 소감
이 강의를 통해 단순한 툴 사용법을 넘어서, 웹 스크래핑의 전체 흐름과 각 도구의 역할, 그리고 실전 적용법까지 한 번에 익힐 수 있었습니다. 특히 Selenium + BeautifulSoup 조합은 앞으로의 크롤링 프로젝트에서 큰 무기가 될 것 같습니다.
크롤링에 관심 있는 분들, 혹은 실무형 자동화 작업을 준비 중이신 분들께 정말 추천하고 싶은 강의였습니다.
'AI 외부 활동🧠 > 커널아케데미 부트캠프' 카테고리의 다른 글
[후기] 현직자 특강 김남혁 강사 – 생존에서 성장으로: 부트캠프 성공 가이드 (1) | 2025.05.27 |
---|---|
[후기] AI 부트캠프 (w. Upstage) 14기 OT, 나의 마음가짐 (1) | 2025.05.27 |