주식을 하다 보면, 본인이 투자하고 있는 종목을 엑셀이나 구글 스프레드 시트로 일괄 정리 하면서, (나름) 실시간으로 현재 시가를 자동으로 반영하고 싶은 욕구가 생기기 마련인가봅니다. 구글 스프레드 시트에서는 GOOGLEFINANCE 라는 함수로 특정 종목의 시가를 가져올 수 있는 방법이 있습니다. 다만 구글에서 종목 검색이 되지 않는 경우가 있는데, 이때는 다른 사이트의 정보를 가져와야 합니다.
오늘은 네이버 금융에서 구글 스프레드 시트에 개별 주식의 현재가를 가져오는 방법에 대해 알아보겠습니다. 구글 스프레드 시트에서 제공하는 IMPORTXML 함수를 활용하면 웹 페이지에서 원하는 정보를 쉽게 가져올 수 있습니다. IMPORTXML 함수는 다음과 같은 형식으로 사용합니다.
=IMPORTXML(URL, XPath, Locale)
여기서 필요한 정보는 URL과 Xpath 딱 두개입니다. Locale은 여기선 무시해도 괜찮습니다. URL은 정보를 가져오려는 웹 페이지의 주소이고, XPath는 웹 페이지 내에서 해당 정보의 위치를 나타내는 식입니다. XPath는 웹 브라우저의 검사 기능을 이용해서 복사할 수 있습니다. 예제를 통해 실제로 어떻게 적용할 수 있는지 보겠습니다.
예제) 네이버 금융에서 삼성전자의 현재가 가져오기
1. 네이버 금융 웹 사이트 (https://finance.naver.com)로 이동하여 '삼성전자'를 검색합니다. 검색어 자동 완성 기능을 통해 삼성전자의 종목코드가 005930인 것도 바로 알 수 있습니다.
2. '삼성전자' 종목 페이지로 갑니다. 우리는 여기서 한번 더 이동합니다. 웹 페이지를 아래로 살짝 내려서 차트 바로 아래에 '시세'를 클릭합니다.
3. (★중요) 시세 항목으로 이동하였습니다. 우리는 이 페이지의 URL을 사용할 것입니다. 여기서 URL의 뒷부분 6자리 숫자가 바로 삼성전자의 종목 코드입니다. 즉, 삼성전자가 아닌 다른 회사에 대한 정보를 얻고 싶으면 URL의 뒷부분을 6자리 숫자만 바꾸면 됩니다.
https://finance.naver.com/item/sise.naver?code=005930
웹 페이지를 아래로 내리다 보면 아래와 같이 삼성전자의 현재가가 나온 부분을 찾을 수 있습니다. 여기서 구글 스프레드 시트로 가져오려는 정보 (현재가)에 마우스 포인터를 두고 우클릭합니다.
4. 팝업 창이 뜨면, '검사'를 클릭합니다.
5. '검사'를 클릭하면 웹 페이지 내 테이블 구조가 나옵니다. 테이블 구조에서 현재가 부분을 우클릭하면 다시 팝업 창이 뜨고, 여기서 '복사' -> 'XPath 복사'를 순서대로 클릭하여 XPath를 복사합니다.
6. 이렇게 네이버 금융에서 삼성전자의 현재가를 구하기 위한 URL과 XPath는 아래와 같습니다.
URL: https://finance.naver.com/item/sise.naver?code=005930
XPath: //*[@id="_nowVal"]
7. 이제 구글 스프레드 시트에서 이 정보를 가지고 IMPORTXML 함수를 사용해보겠습니다. 구글 스프레드 시트에서 아래와 같이 A1 셀에는 URL을 A2 셀에는 XPath 정보를 넣고, A3 셀에 =IMPORTXML(A1,A2)을 입력합니다.
8. 그러면 네이버 금융 웹 페이지에서 봤던 것과 똑같이 삼성전자의 현재가 68,400원이 나옵니다.
이상 구글 스프레드 시트에서 제공하는 IMPORTXML 함수를 사용하여 네이버 금융에서 개별 주식의 현재가를 가져오는 방법을 알아봤습니다.
끝.
PS. 만약 여러 종목의 현재가를 가져오고 싶다면 URL과 XPath를 별도의 셀에 저장해놓고, 종목 코드가 포함된 종목 테이블을 만들어 일괄 계산이 가능하도록 할 수 있습니다. 이건 다음 번에 다뤄보도록 하겠습니다.
2023.08.19 - [자동화] - 구글 스프레스 시트에서 복수의 종목의 현재가를 한번에 불러오는 방법
혹시나 본 포스트 관련하여 궁금하신 사항이나 더 필요한 점이 있으시면 댓글 남겨주세요. 피드백 반영해 보도록 하겠습니다.
'자동화 > Google Spreadsheet' 카테고리의 다른 글
[Google 스프레드시트] 국제금 대비 KRX금 시세의 괴리율 구하기 (0) | 2025.02.09 |
---|---|
[Google 스프레드시트] KRX금 시세 가져오기 (0) | 2025.02.09 |
[Google 스프레드시트] SPARKLINE과 GOOGLEFINANCE 함수를 활용하여 주가 추세를 표현하는 방법 (0) | 2024.06.29 |
[Google 스프레드시트] 복수의 종목의 현재가를 한번에 불러오는 방법 (4) | 2023.08.19 |
[Google 스프레드시트] 네이버 금융의 개별 주식 현재가 가져오기 (IMPORTHTML, INDEX, SUBSTITUTE 함수 활용하기) (1) | 2021.03.30 |