본문 바로가기
IT/구글 스프레드시트(구글 파이낸스)

[구글 스프레드시트] 네이버 금융에서 배당 정보 가져오기 (IMPORTHTML 함수 활용)

by The Raven 2022. 6. 16.

이전 포스트에서 IMPORTXML 함수를 이용하여 네이버 금융에서 ROE, PER, PBR 등의 정보를 가져오는 방법을 알아봤는데요, 이번에는 IMPORTHTML 함수를 사용하여 구글 스프레드시트에서 배당 정보 가져오는 방법을 살펴보겠습니다.

https://carragher.tistory.com/220?category=856214 

 

[구글 스프레드시트] 네이버 금융에서 ROE, PER, PBR 정보 가져오기 (IMPORTXML 함수)

구글 스프레드시트에서 제공하는 IMPORTXML 함수를 활용하여 네이버 금융(네이버 증권)에서 원하는 종목의 주요 지표 (ROE, PER, PBR 등)를 가져와 보겠습니다. IMPORTXML 함수는 아래와 같은 형식으로 되

carragher.tistory.com

 

일단 IMPORTHTML 함수는 아래와 같은 형식으로 되어 있습니다. 

=IMPORTHTML(URL, Query, Index)
  • URL: 정보를 가져오려는 웹페이지의 URL
  • Query: 어떤 구조의 데이터를 가져올지 정의합니다. "table" 또는 "list"
  • Index: 웹페이지 내에서 가져오고자 하는 query의 색인

그럼 예제를 통해 어떻게 이 함수가 사용되는지 알아보겠습니다.
(네이버 금융 사이트에서 삼성전자의 배당 정보 가져오기)

1 단계. 네이버 금융 웹사이트(https://finance.naver.com)로 이동하여 '삼성전자'를 검색합니다. 검색어 자동 완성 기능을 통해 삼성전자의 종목코드가 005930인 것도 바로 알 수 있습니다.

 

2 단계. '삼성전자' 종목 페이지로 이동하면, 아래의 URL로 바뀌는데, URL의 뒷부분 6자리 숫자가 바로 삼성전자의 종목 코드입니다. 즉, 삼성전자가 아닌 다른 회사에 대한 정보를 얻고 싶으면 URL의 뒷부분을 6자리 숫자만 바꾸면 됩니다.  

https://finance.naver.com/item/main.naver?code=005930

 

3 단계. 위의 웹 페이지에서 우리는 아래와 같은 테이블 정보를 가져오려고 합니다. 테이블의 아래 쪽을 보면, 주당 배당금, 시가 배당률, 배당 성향 정보가 있는 것을 볼 수 있습니다. 이 테이블은 웹 페이지 내에서 네 번째로 등장하는 테이블이므로 index 값을 '4'로 할 것입니다. 

위의 테이블을 가져오기 위해 IMPORTHTML 함수에 들어갈 파라미터는 아래와 같습니다. 

 

4 단계. 구글 스프레드시트에서 이 정보를 가지고 IMPORTHTML 함수를 호출합니다. 

아래와 같이 IMPORTHTML 함수에 들어갈 파라미터들을 별도의 셀에 기입해 두었습니다. URL 정보는 네이버 금융 URL과 종목 코드를 CONCATENATE 함수를 이용해 합쳤습니다. (CONCATENATE 함수는 두 개 이상의 문자열을 합치는 함수입니다.) Query는 "table"이고 Index는 "4"입니다. 

아래는 IMPORTHTML 함수를 불러온 결과입니다. A10 셀에 IMPORTHTML(B5, B6, B7)로 적혀있는데, B5, B6, B7 셀에는 각각 URL, Query, Index 정보가 들어가 있습니다.

여기서 우리는 2019년에서 2022년(예상치)까지의 주당 배당금, 시가 배당률, 배당 성향 정보를 추출하려고 합니다. 위의 캡쳐에서 2019.12 ~ 2022.12년도 부분은 주황색으로 표시했고, 배당 정보는 푸른색으로 표시하였습니다.

이전에 ROE, PER, PBR 정보를 가져올때는 INDEX 함수를 썼었는데요, 이번에는 OFFSET 함수를 활용해 보겠습니다. 

=OFFSET(참조 셀 위치, 행, 열, 높이, 너비)

OFFSET 함수는 위와 같이 다섯 개의 파라미터를 가집니다.

이 함수는 "참조 셀 위치"를 기준으로 "행", "열" 만큼 이동하여 "높이", "너비" 만큼의 영역에 해당하는 데이터를 가져옵니다. 아래의 예를 가지고 설명해보겠습니다. 

 

만일 A11 셀을 기준으로 잡고 푸른색 부분을 가져온다면, OFFSET의 첫 번째 파라미터는 A11이 됩니다. 푸른색 영역이 시작되는 셀은 A26이므로 A11에서 15행, 0열만큼 이동해야 합니다. 여기서 '15', '0'이 OFFSET 함수의 두 번째, 세 번째 파라미터가 됩니다. 이제 A26에서 3행, 5열만큼의 영역을 가져오므로 OFFSET 함수의 네 번째, 다섯 번째 파라미터는 각각 '3', '5'가 됩니다. 

결과적으로 위의 스프레드시트에서 OFFSET(A11, 15, 0, 3. 5)를 호출하면 2019.12 ~ 2022.12 까지의 배당 정보를 얻을 수 있습니다. 만일 기준 셀을 A26으로 한다면 OFF(A26, 0, 0, 3, 5)로 하면 됩니다.

아래와 같이 실제 구글 스프레드시트에서 실행해본 예제를 공유드립니다.

https://docs.google.com/spreadsheets/d/1VfZngepHEZWsurpZhLnkINXfyV5Kqu9N1-FHHIgCf5M/edit?usp=sharing 

 

IMPORTHTML 활용한 배당정보 가져오기 (읽기전용)

IMPORTHTML Step1. Importhtml 함수의 파라미터 정의 종목명,삼성전자 종목코드,005930 네이버증권 URL,<a href="https://finance.naver.com/item/main.naver?code=005380">https://finance.naver.com/item/main.naver?code=</a> URL + 종목코드

docs.google.com

 

이상 구글 스프레드시트에서 제공하는 IMPORTHTML 함수를 사용하여 네이버 금융 사이트에서 배당 정보를 가져오는 방법을 알아봤습니다.


(2023년 4월 17일 추가) 위의 예제 구글스프레드 문서에 인베스팅 닷컴에서 주식 관련 정보를 가져오는 방법을 추가하였습니다. 위의 링크로 들어가서 '인베스팅닷컴에서 주식정보 가져오기' 시트로 들어가면 애플을 예제로 배당 정보 및 주식 관련 정보를 ImportHTML 함수로 가져온 결과를 보실 수 있습니다.

반응형

댓글