네이버 증권(https://finance.naver.com/)에 나와있는 코스피, S&P500, 다우지수, 환율, 국제 유가, 국제 금값 데이터를 크롤링해 구글 스프레드시트에 자동 업데이트하는 방법을 정리해 보려 한다.
'네이버 증권 ► S&P500 ► 일별 시세'에 나와있는 종가 데이터가 구글 스프레드시트에 매일 업데이트되도록 하는 작업이라 보면 된다. (S&P500, 다우지수는 전날 종가 데이터를 가져올 거라 S&P500 2/12 데이터는 구글 스프레드시트 2/13로 업데이트될 것이다.)

📌글 순서
-첫번째, n8n 에 firecrawl API 연동하기
-두번째, 크롤링 데이터+구글 스프레드시트에 연결하기
-세번째, 업데이트 일정 정하기
-네번째, S&P500 외 다른 지표들도 가져오고 싶다면?
우선, n8n 워크플로우를 새로 생성하고 "trigger manually"를 연결한다. 이걸 연결하는 이유는 세팅 중간중간 실행해서 결과물을 확인하기 위함이다.


[첫번째, n8n 에 firecrawl API 연동하기]
firecrawl( https://www.firecrawl.dev/ )► Scrap ► 창에 크롤링하려는 URL을 넣으면 아래와 같이 나온다. 창 하단 "forma=JSON"을 선택하고 GET CODE에서 cURL을 복사한다.


n8n에서 Http request 를 클릭하고 cURL에 붙여넣고, execute step 을 클릭하면? 뭔가 잘 나온 것 같지만, 일별 시세 데이터가 나오지 않는다.

이런 오류가 났을 때는? 챗gpt 한테 물어보면 된다. 결론은 http request 세팅에서 아래와 같이 수정해야 한다.

▼JOSN 영역에는 이걸 복붙하면 된다▼
{
"url": "https://finance.naver.com/world/sise.naver?symbol=SPI@SPX&page=1",
"onlyMainContent": false,
"maxAge": 0,
"waitFor": 2000,
"proxy": "auto",
"storeInCache": false,
"formats": [
{
"type": "json",
"prompt": "Extract the S&P 500 (SPI@SPX) daily prices table rows. Return an array 'daily' with: date, close, diff, rate, volume, amount. date format YYYY.MM.DD. Keep numbers as strings with commas if present.",
"schema": {
"type": "object",
"properties": {
"daily": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": { "type": "string" },
"close": { "type": "string" },
"diff": { "type": "string" },
"rate": { "type": "string" },
"volume": { "type": "string" },
"amount": { "type": "string" }
},
"required": ["date", "close"]
}
}
},
"required": ["daily"]
}
}
]
}
그리고 오른쪽 상단 "execute step"을 클릭하면 일별 시세 부분이 정상적으로 끌어와 진다.
[두번째, 크롤링 데이터+구글 스프레드시트에 연결하기]
n8n에서 + 노드를 클릭하고 google sheet ► update row in sheet 를 클릭한다.

credendtial to connect with 에서 "+crete new credential"을 클릭하면 팝업창 하단에 sign in with google 이 나온다. 거기서 내 google 계정을 연동한다.

그러면 아래와 같이 document 항목에 내 구글 드라이브에 있는 모든 구글 스프레드시트들이 자동으로 업데이트된다.


여기서 나는 S&P500 지표만 업데이트할 것이므로 날짜와 S&P500을 제외하고는 모두 삭제한다. 그리고 필요한 데이터를 왼쪽에서 끌어오기만 하면 끝이다.
❗️만약 전일 종가 데이터를 가져오고 싶다면? 방법1️⃣
S&P500 전날 종가를 가져오는 것이다. 2월 12일 항목에 2월 11일 종가가 들어가도록 하고 싶은 것. 이 경우 아래와 같이 날짜에는 2월 12일, S&P500값에는 전날 close 데이터를 끌어오면 된다.

❗️2월 13일 최근 데이터를 가져오고 싶다면? 방법2️⃣
위와 같이 하면 아쉬운 점은 최근 데이터 확인이 어렵다는 거다. 오늘이 2/13이라 2/12 종가 데이터를 가져오고 싶은데 2/12에 2/11 종가 데이터만 가져오게 되는 것! 그래서 2/13에 2/12 종가 데이터, 말 그대로 가장 최근 데이터를 가져오려면 마지막 데이터 날짜(2/12)에 하루를 더해서, 2/12 데이터를 가져오게 하면 된다.
①날짜에는 아래 JSON을 넣고,
{{ DateTime.fromFormat($json.data.json.daily[0].date, 'yyyy.MM.dd')
.plus({ days: 1 })
.toFormat('yyyy-MM-dd') }}
②2/12 colse 값을 S&P500에 끌고 오면 된다.

‼️여기서 중요한 건
구글 스프레드시트에 날짜 형태와 n8n에 날짜 형태가 맞지 않으면 정상적으로 업데이트가 안된다는 것이다.
n8n은 날짜 형태가 "yyyy.mm.dd"이고 구글 스프레드시트는 "yyyy-mm-dd"다. 형태가 맞지 않으면 업데이트가 되지 않으므로 이걸 맞춰줘야 한다. 나는 n8n 날짜 항목 json을 아래와 같이 바꿔주었다. (물론 나는 개발코드를 1도 모르므로 챗gpt가 알려준 코드를 그대로 복붙했다.)
만약 이렇게 했는데도 오류가 난다면 구글 스프레드시트 형태에서 0이 제외된 날짜로 설정되었는지 확인해보면 된다. (2026-02-10 이 아닌 2026-2-10 이면 오류가 나기 때문)
#수정 전
{{ $json.data.json.daily[0].date }}
#수정 후
{{ $json.data.json.daily[0].date.replace(/\./g, '-') }}

이렇게 해서 오른쪽 상단 execute step을 클릭해 보면 아래와 같이 정상적으로 데이터가 들어오는 걸 확인할 수 있다.

[세번째, 매일 특정 시간에 업데이트되도록 하기]
오른쪽 + 를 클릭해 schedule trigger 를 클릭해 원하는 일정을 넣고 맨 앞쪽에 연결해주면 된다.



[네번째, 네이버 증권에서 S&P500 말고 다른 원하는 지표들도 끌고 오고 싶다면?]
위 작업을 반복해서 아래와 같이 추가하면 된다.

여기까지 작업했다면 이런 고민이 들 수 있다.
최근 7일 전 데이터를 자동으로 업데이트 할 순 없을까?
이건 다음 글에서 구체적으로 설명하겠다. 이것까지 가능하면 응용할 것들이 많아진다.
예를 들어, 마케터 입장에서 메타/구글 광고 관리자 API를 연동 ► 각 매체 광고 성과를 최근 30일 전 데이터까지 자동으로 구글 스프레드시트(데일리 리포트 내 로우 시트)에 업데이트하는 게 가능하다. 매체 광고 관리자 들어가서 리포트 다운받고 데일리 리포트에 로우데이터를 업데이트하는 시간을 줄일 수 있는 것이다.
여튼, 위 관련 내용은 다음 글에서 좀 더 자세히 다루겠다.
▼관련 글▼
| 1 | [AI자동화] 구글 파이낸스 경제 지표 구글 스프레드시트 자동 업데이트하기(API 연동) >>알수있는 것: N8N 활용_API 연동&구글 스프레드시트 연결(기본) |
https://ironyoo.tistory.com/33 |
| 2 | [AI자동화] 네이버 증권 크롤링 구글 스프레드시트 자동 업데이트하기(firecrawl, n8n) >>알수있는 것: 1번 내용+크롤링(firecrawl)+"전날 종가" 데이터 업데이트 "현재글" |
https://ironyoo.tistory.com/36 |
| 3 | [AI자동화] 네이버 증권 크롤링 "최근 7일" 구글 스프레드시트 자동 업데이트(firecrawl, n8n) >>알수있는 것: 1번 내용+크롤링(firecrawl)+"최근 7일" 데이터 업데이트 |
https://ironyoo.tistory.com/37 |
| 4 | [AI자동화] 네이버 증권 "최근 7일" 구글 스프레드시트 자동 업데이트하기(html extract) >>알수있는 것: N8N html extract 활용+"최근 7일" 데이터 업데이트 |
https://ironyoo.tistory.com/38 |
| 5 | [AI자동화] 네이버 증권 "국내/해외 지표" 구글 스프레드시트 자동 업데이트(코스피, S&P500등) >>알수있는 것: N8N html extract 활용+"최근 7일"+여러 지표 업데이트 |
출처: https://ironyoo.tistory.com/36 [Eureka!:티스토리]
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| 최신 기술 동향 소식 (0) | 2026.07.30 |
|---|---|
| IT 개발테스트 Selenium WebDriver (0) | 2026.07.29 |
| WSL의 UBUNTU에 N8N설치하고 윈도우11에서 접속하여 운영하는 방법 (0) | 2026.07.28 |
| AI 엔지니어링 5단계 진화사 (0) | 2026.07.27 |
| GLM 설치 가이드 (0) | 2026.07.25 |