본문 바로가기
ETC/Python

Python으로 네이버 주식 현재가 가져오기

by Guardy 2021. 9. 6.
728x90

파이썬 stock 주식 현재가 가져오기 python naver stock

 

이번 글에서는 파이썬을 이용하여 네이버에서 종목코드를 통해 주식 현재가를 가져오는 방법에 대해 알아보도록 하겠습니다.https://finance.naver.com/item/main.nhn?code=005930네이버 주식에서 005930 삼성전자 주식 종합정보를 알려주는 페이지는 다음과 같습니다.

이 페이지에서 가지고 오고 싶은 데이터는 77,300원입니다.

소스보기를 했을때 77,300원이 <dd></dd>사이에 있는것을 확인할 수 있습니다.

이제 위치와 원하는 값을 알았으니, 코드를 작성해보겠습니다.

import requests
s = requests.Session()
url = "https://finance.naver.com/item/main.nhn?code=005930"
resp = s.get(url)
print(resp.text.split("<dd>현재가 ")[1].split(' ')[0].replace(",",""))

77,300원으로 나와있는 부분을 77300으로 바꾸기 위해 replace를 사용했습니다.

이제 함수로 만들어서 종목코드를 넣었을 때 현재가가 나오는 코드로 변경해보겠습니다.

import requests

def getPrice(code):
    s = requests.Session()
    url = "https://finance.naver.com/item/main.nhn?code=" + code
    resp = s.get(url)
    return resp.text.split("<dd>현재가 ")[1].split(' ')[0].replace(",","")

if __name__ == "__main__":
    print(getPrice("005930"))

결과는 다음과 같습니다.

현재가만 나오면 너무 밋밋하니 종목명과 현재가가 동시에 나오게 코드를 추가해보겠습니다.

import requests

def getPrice(code):
    s = requests.Session()
    url = "https://finance.naver.com/item/main.nhn?code=" + code
    resp = s.get(url)
    return resp.text.split("<dd>종목명 ")[1].split('</dd>')[0].replace(",",""), resp.text.split("<dd>현재가 ")[1].split(' ')[0].replace(",","")

if __name__ == "__main__":
    name, price = getPrice("005930")
    print(name + " : " +  price)

이상입니다. 코드가 도움이 되셨다면 공감 버튼 부탁드립니다.

728x90