본문 바로가기
Python/크롤링

[무작정 크롤링 #1] 파이썬으로 네이버 금융에서 주가와 거래량 크롤링하기 1. 주가 정보 URL 접속하기

by 포푸리 (POPOOLY) 2021. 10. 4.
반응형

주식 투자자라면 반드시 보는 사이트가 네이버 금융이다.

 

아래 그래프는 투자자 예탁금과 네이버 금융 검색량의 추이인데, 상관계수가 0.88로 매우 높다.

투자자 예탁금이 많아지는 것은 주식 투자자가 많아진다고 추정할 수 있으므로, 많은 투자자가 네이버 금융을 이용한다고 볼 수 있다.

 

투자자 예탁금 vs 네이버 금융 검색량 차트

 

네이버 금융에서 가장 많이 이용하는 것 중 하나는 개별 종목의 차트일 것이다.

그런데 인터넷의 기본 원리만 알면 이 차트에서 개별 종목의 주가와 검색량을 매우 빠르게 수집할 수 있다.

네이버 증권에서 NAVER(035420)의 주가 차트

 

인터넷은 기본적으로 정보가 저장되어 있는 서버에서 우리가 원하는 정보를 불러오는 것이다.

즉, 네이버 금융에서 개별 종목의 차트를 본다는 것은 해당 종목의 주가가 저장되어있는 서버에서 주가 정보를 불러와서 차트의 형태로 표현하는 것이다. (관련 내용을 쉽게 알고 싶으면 생활코딩님의 아래 영상을 참고하면 된다)

따라서 우리는 주가 정보가 어디에 저장되어 있는지만 알면 개별종목의 주가를 빠르게 수집할 수 있다.

그렇다면 주가 정보가 어디에 저장되어 있는지는 어떻게 알 수 있을까?

 

주가 정보가 저장되어있는 서버에서 주가 정보를 불러오는 데이터의 흐름은 개발자도구의 Network에서 확인할 수 있다.

 

크롬, 익스플로러 등 사용하는 인터넷에서 F12를 누르거나 '마우스 우측>검사'를 클릭하면 개발자도구가 활성화된다.

개발자도구의 Network를 보면 아래 URL이 반복적으로 나오는 것을 볼 수 있는데, 해당 URL에 접속하면 [날짜, 시가, 고가, 저가, 종가, 거래량, 외국인소진율]이 저장되어 있는 것을 확인할 수 있다.

https://api.finance.naver.com/siseJson.naver?symbol=035420&requestType=1&startTime=20200728&endTime=20211004&timeframe=day

 

NAVER(035420)의 주가 차트에서 주가 정보 가져오기

 

네이버 금융은 주가 정보가 저장되어있는 URL을 직관적으로 설정해두어서, 조금만 만져보면 원하는 종목의 주가 정보에 접근할 수 있다.

https://api.finance.naver.com/siseJson.naver?symbol=035420&requestType=1&startTime=20200728&endTime=20211004&timeframe=day

 

위 URL은 크게 symbol, startTime, endTime, timeframe을 조절하여 원하는 주가 정보를 확인할 수 있는데, 각각의 의미는 아래와 같다.

1. symbol: 주식 종목 코드
2. startTime: 검색 시작일자
3. endTime: 검색 종료일자
4. timeframe: 검색 시간 간격 (일: day, 주: week, 월: month)

 

예를 들어 삼성전자(005930)의 주가정보를 1990년 1월부터 2021년 10월까지 월간격으로 확인하고 싶으면 아래 URL로 수정하여 접속하면 된다.

https://api.finance.naver.com/siseJson.naver?symbol=005930&requestType=1&startTime=19900101&endTime=20211004&timeframe=month

 

네이버 금융에서 주가와 거래량을 크롤링하기 위한 사전 작업은 모두 완료했다.

다음 글에서는 본격적으로 파이썬을 이용해서 주가와 거래량을 수집하는 코드를 작성해보겠다.

댓글