본문 바로가기
일기장/문제해결

구글 파이낸스 오류 해결 방법

by 투동자 황소장 2021. 3. 15.

구글 파이낸스 오류 해결 방법

구글 스프레드 시트에서 구글 파이낸스를 이용해서 주가 지수를 끌어오는 방법을 많이들 사용한다. 하지만 가끔 오류가 발생해서 곤란할 때가 있다. 티커 값을 제대로 넣었는데도 오류가 나버리는 경우다. 

 

그럴 때는 함숫값을 아무리 바꿔줘도 이미 서버에서 오류가 난 상태이기 때문에 해결 방법이 존재하지 않는다. 하지만 우리가 원하는 건 주가 지수를 끌어 오는 것뿐이다. 그러니 구글 파이낸스가 아닌  다른 사이트에서  주가 지수 값을 끌어오면 된다.

 

야후 파이낸스 주가지수 끌어오기

외부 사이트에서 주가 지수를 끌어오기 위해서는 구글 스프레드 시트의 IMPORTXML 함수를 이용할 것이다. 지금은 야후 파이낸스에서 코스피 지수를 끌어오는 실습을 해보겠다. 우리가 필요한 건 해당 주가 지수가 표시되는 사이트 주소, XPATH 단 두 가지이다. 

 

1) 야후 파이낸스로 접속 및 사이트 주소 얻기 

야후 파이낸스 홈페이지 접속해서 검색어에 KOSPI라고 치면 다음과 같은 화면이 나온다. 이화면의 웹사이트 주소를 복사해서 일단 구글 스프레드 시트에 붙여 넣는다. 

 

 

2) 웹사이트 개발자 도구 

3054.39의 XPath 값을 얻을 차례다. 크롬을 사용하고 있다면, Ctrl + Shift + i를 눌러서 개발자 도구를 불러낸다. 복잡해 보이는 코딩이 나온다. 신경 쓸 거 없이 왼쪽 상단의 화살표를 누르거나 Ctrl + Shift + C를 눌러준다.

 

 

3) 끌어오고 싶은 숫자 코딩 확인

그 후에 우리가 끌어오고 싶은 숫자의 영역에 마우스 커서를 올리면 하이라이트가 생성된다. 그 영역에서 마우스 왼쪽 버튼을 누른다. 

 

 

그럼 개발자 도구 영역에 해당 숫자에 사용된 코딩의 항목이 하이라이트 된다. 

 

4) XPath 값 알아내기

하이라이트 된 <span class="Trsdu......> 영역에서 마우스 오른쪽 버튼을 눌러서 메뉴를 불러내고, COPY - COPY XML 메뉴를 실행시켜서 주소를 카피한다. 

 

 

5) 구글 스프레드 시트에서 함수 넣기

우리가 얻고 싶은 사이트 주소, XPath값  정보를 다 얻었다. 이제 구글 스프레드 시트로 가서 붙여 넣기로 XPath를 붙여 넣기 한다. 

 

 

외부 크롤링 함수는 =importxml(P3, P4)이다.  값을 넣어주니 위와 같이  코스피 지수가 잘 나오는 것을 볼 수 있다. 만약 P3, P4 셀 지정이 아닌, 함수를 직접 입력하고 싶으면 아래와 같이 넣어주면 된다. 

 

=IMPORTXML("https://finance.yahoo.com/quote/%5EKS11?p=^KS11&.tsrc=fin-srch", "//*[@id='quote-header-info']/div[3]/div[1]/div/span[1]")

 

=IMPORTXML("사이트 주소", "XPath")를 직접 기입하면 된다. 한 가지 주의할 건 Xpath 값 중에 큰따옴표 ""가 있다면 싱글 따옴표로 ' 변경해줘야 한다. 

 

응용

이 방식을 이용하면 어떤 사이트에서든 원하는 숫자를 크롤링 할 수 있다. 예를 들면 인베스팅 닷컴, 서울경제 같은 사이트 말이다. 

 

importxml 함수 사용의 가장 큰 장점은 실시간 시세를 확인할 수 있다는 것이다. 사이트의 숫자를 끌어오는 것이기 때문에,  구글 파이낸스처럼 20분 지연 시세가 아닌 실시간 지수를 볼 수 있는 것이다. 

 

이상 구글 파이낸스 오류를 해결하는 방법을 알아보았다. IMPORTXML 함수도 가끔 오류가 난다. 그래서 나 같은 경우 야후 파이낸스만 쓰는 게 아니라 인베스팅 닷컴, 서울경제 사이트 등을 돌아가면서 쓰는 편이다. 특히 서울경제는 한국 사이트라 그런지 오류가 잘 안나서 서울경제에서 크롤링하는 것을 추천한다.  

반응형

댓글