본문 바로가기
Programming/Python

Python으로 네이버 주가 가져오기: 간단한 크롤링 가이드

by 느리게 걷는 즐거움 2024. 3. 26.
728x90
반응형

Python으로 네이버 주가 가져오기: 간단한 크롤링 가이드

Python을 사용하여 웹에서 데이터를 가져오는 것은 매우 간단하고 효과적입니다. 이를 통해 네이버 주가와 같은 금융 데이터를 가져와 분석할 수 있습니다. 이 가이드에서는 Python의 BeautifulSoup 라이브러리를 사용하여 네이버 주식 페이지에서 주가 데이터를 가져오는 방법을 안내합니다.

TAG나 ID는 주기적으로 바뀔 수 있으니 코드 분석부분을 꼭 참고해주세요.

필요한 라이브러리 설치

먼저, 필요한 라이브러리를 설치해야 합니다. 아래 명령어를 사용하여 BeautifulSoup와 requests를 설치합니다.

pip install beautifulsoup4 requests

Python 코드 작성

이제 Python 코드를 작성하여 네이버 주가 데이터를 가져오겠습니다.

import requests
from bs4 import BeautifulSoup

def get_naver_stock_price():
    # 네이버 주식 페이지 URL
    url = 'https://finance.naver.com/sise/sise_index.nhn?code=KOSPI'

    # HTML 페이지 가져오기
    response = requests.get(url)
    html = response.text

    # BeautifulSoup 객체 생성
    soup = BeautifulSoup(html, 'html.parser')

    # 원하는 데이터 위치 찾기
    price = soup.find('em', {'id': 'now_value'}).text

    return price

if __name__ == "__main__":
    # 네이버 주가 가져오기
    naver_stock_price = get_naver_stock_price()
    print("네이버 주가:", naver_stock_price)

 

코드 설명

requests 라이브러리를 사용하여 네이버의 주식 페이지에 HTTP 요청을 보냅니다. 그리고 요청에 대한 응답으로 받은 HTML을 BeautifulSoup으로 파싱합니다.

이제 정보를 가져올 데이터 위치를 찾기 위해 네이버 증권 사이트로 이동한 후 F12를 누릅니다. 아래와 같이 창이 생성되면 우측 메뉴의 화살표를 점선 화살표를 선택합니다. 이 버튼으로 자신이 원하는 정보를 누릅니다. KOSPI 숫자를 누르면 되겠네요.

선택하면 아래와 같은 코드영역이 하이라이트됩니다

HTML코드의 정보를 보면 <em> TAG를 이용했고 ID는 "now_value" 입니다. 

    price = soup.find('em', {'id': 'now_value'}).text


그래서 원하는 데이터 위치는 위와 같이 구현됩니다.

이제 위 코드를 실행하면 현재 네이버 주가가 아래와 같이 터미널에 출력될 것입니다.

네이버 주가: 2,758.65

 

728x90
반응형