Yahoo Finance에서 주식 데이터를 실시간으로 수집하기
시시각각 변하는 주식 시장! 실시간으로 주식 데이터를 수집해 주기적으로 저장하고 싶다면 어떻게 해야 할까요?
이번 수업에서는 Selenium
을 활용하여 Yahoo Finance에서 주식 데이터를 동적으로 추출하는 방법을 알아보겠습니다.
동적 데이터 추출하기
동적 데이터는 웹 페이지의 두뇌 역할을 하는 JavaScript
로 생성되는 데이터로, 사용자가 웹사이트에 접속한 후에 생성되거나 특정 행동을 취하면 변경될 수 있습니다.
이와 같은 동적 데이터는 BeautifulSoup
과 Requests
로는 가져올 수 없습니다.
하지만 Selenium
을 사용하면 웹 페이지에서 JavaScript를 실행하고, 동적 데이터를 가져올 수 있습니다.
실습 화면의 코드를 단계별로 살펴보겠습니다.
실습 코드내 이해하기 어려운 부분은 학습 도구의 AI 튜터
를 활용해 질문해 보세요.
1. 필요한 패키지 불러오기
-
selenium
: 웹 페이지에서 동적인 데이터를 가져옵니다. -
pandas
: 데이터를 표 형태로 정리하고 처리합니다. -
webdriver
: Selenium을 사용해 웹 브라우저를 제어합니다. -
By
: 웹 페이지에서 요소를 찾는 방법을 지정합니다. -
ActionChains
: 웹 페이지에서 마우스와 키보드 동작을 수행합니다. -
EC
: 웹 페이지에서 요소가 나타날 때까지 기다립니다.
2. 웹 브라우저 열기
웹 브라우저 열기
# Chrome 웹드라이버를 실행하여 브라우저 창 열기
driver = webdriver.Chrome()
# Yahoo Finance의 'Markets' 페이지로 이동
driver.get('https://finance.yahoo.com/markets/')
크롬 브라우저를 실행하고 Yahoo Finance
의 'Markets' 페이지로 이동합니다.
참고로 Selenium은 크롬, 파이어폭스 등 다양한 브라우저를 지원합니다.