본문으로 건너뛰기
실습하기

Selenium으로 미국 주가 지수 크롤링하기

이전 수업에서 소개한 requestsBeautifulSoup 라이브러리를 이용하면, 특정 웹 페이지의 HTML 코드를 가져와 원하는 데이터를 추출할 수 있습니다.

하지만 웹 페이지가 동적으로 생성되어, 사용자의 행동에 따라 내용이 변경되는 경우에는 'requests'와 'BeautifulSoup' 라이브러리만으로 원하는 데이터를 추출할 수 없습니다.

현대의 웹사이트는 시시각각 변화하는 데이터를 서버에서 받아 사용자에게 보여주며, 이러한 웹 페이지를 동적 웹 페이지라고 합니다.

'requests'와 'BeautifulSoup' 라이브러리는 서버에서 수신한 동적 데이터를 처리할 수 없기 때문에, 동적 데이터를 추출하려면 다른 방법이 필요합니다.

이런 경우, 동적 웹 페이지를 크롤링할 때 사용하는 것이 셀레니움(Selenium) 라이브러리입니다.


Selenium 라이브러리 소개

Selenium은 웹 페이지를 자동으로 제어하거나 테스트하기 위해 사용하는 라이브러리입니다.

웹 브라우저를 직접 제어할 수 있기 때문에, 동적 데이터를 크롤링하거나 웹 페이지의 특정 요소를 클릭하거나 입력하는 등의 작업을 수행할 수 있습니다.


Selenium으로 미국 주가 지수 크롤링 실습

이번 실습에서는 Selenium을 사용해 미국 주가 지수를 실시간으로 크롤링하는 방법을 소개하겠습니다.

실습에서 사용할 코드는 Yahoo Finance 웹사이트에서 실시간으로 미국 주가 지수를 크롤링하는 코드입니다.

미국 주가 지수 크롤링 코드
# Chrome 웹드라이버를 실행하여 브라우저 창 열기
driver = webdriver.Chrome()

# Yahoo Finance의 'Markets' 페이지로 이동
driver.get('https://finance.yahoo.com/markets/')

# 페이지가 완전히 로드될 때까지 대기 (최대 10초 대기)
wait = WebDriverWait(driver, 10)

...(중략)...

Selenium 관련 자세한 내용은 퇴근을 앞당기는 업무 자동화 필수 지식 코스의 Chapter 3에서 자세히 다루겠습니다.

코드 에디터의 초록색으로 표시된 ▶︎ 실행 버튼을 누르고, 미국 주가 지수를 실시간으로 확인해 보세요!