Selenium으로 미국 주가 지수 크롤링하기
이전 수업에서 소개한 requests
와 BeautifulSoup
라이브러리를 이용하면, 특정 웹 페이지의 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에서 자세히 다루겠습니다.
코드 에디터의 초록색으로 표시된 ▶︎ 실행
버튼을 누르고, 미국 주가 지수를 실시간으로 확인해 보세요!