n8n
	n8n을 활용한 뉴스 기사 수집 Sample

기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.

개요

- 키워드를 입력하면 인터넷에서 키워드 연관 기사를 수집·분석하여 인사이트 정보를 정리

(키워드 입력 → 네이버 키워드 검색 및 본문 정리 → AI 인사이트 생성)

- 결과물 : 네이버 뉴스 기사 수집 내용(naver api 시트), 기사 분석 내용(sheet 2)

세부 파이프라인

구분	노드명	수행 내용	비고
Step 1. 키워드 입력	키워드 입력 (Trigger)	웹 브라우저 상태에서 입력 가능한 폼. 키워드와 수집 기간을 입력하도록 페이지 구성. (키워드와 기간으로 뉴스 수집)	참고 1
Step 2. 검색 내용 수집&정리	기사 수집	Naver API로 제공된 기사 중, 입력한 키워드와 기간 내의 기사를 수집 (※ 샘플로 12개만을 수집함)	참고 2
	수집 정보 정리	수집된 기사 정보를 처리할 수 있도록 분리 (수집된 12개 기사 묶음을 1개씩 처리하도록 분리)	참고 3
	기사 본문 수집	각 기사별 링크로 접속하여 본문을 수집 (본문 수집을 위하여 Jina AI 활용)	참고 4
	본문 정리	본문 중 광고, 메뉴, 댓글 등 불필요한 내용 제거	참고 5
	기사 저장하기	구글 시트에 수집된 기사의 내용을 한줄씩 정리 (번호, 제목, 발행일, url, 요약, 본문 전체를 저장)	참고 6
Step 3. AI 인사이트 생성	(AI 분석을 위한) 전처리	12개의 본문을 AI가 분석할 수 있도록 하나로 묶음	참고 7
	(AI) 본문 분석	Gemini AI가 본문 내용 중 핵심 인사이트 3가지를 정리	참고 8
	인사이트 정리	AI가 응답한 결과를 구글 시트에 정리하기 위하여 정리 (번호, 인사이트 제목, 내용, 관련 링크)	참고 9
	저장하기	인사이트 3개를 구글시트 Sheet 2번에 저장	참고 10

※ (사전) 구글 계정 연결 필요 (참고 6-1)

향후 계획	기사 수집 대상 및 방법의 보완 ⇨ 현재 naver api만으로 기사 수집 ⇨ 현재 jina ai를 활용하여 본문 수집(20건 제한)

[참고 1] Step 1. 키워드 입력

사용자에게 키워드를 받기 위한 화면을 시작점으로 설정.

사용자가 컴퓨터에 ‘무엇을 조사해줘’라고 키워드를 입력하는 단계로, 사용자가 키워드와 기간을 입력하여야만 프로세스가 시작되도록 설정.

- 세부 단계

1) “Add first Step...”의 +버튼 클릭하여, (우측) On form submission 클릭

* 참고 : Trigger manually(내가 버튼 클릭 시), On a schedule(정해진 시간), On webhook call(외부 신호 받을 때), On form submission(폼 제출 시), On app event(앱에서 event가 일어날 때), On chat message(채팅 메시지 받을 때)

2) Parameters에서 수취한 웹 페이지를 구성

- 페이지 설명

(1) Authenitication : 폼에 접근 시 로그인 등 인증이 필요한지에 대한 것

· None : 인증 없이 누구나 링크만 있으면 접근 가능

(2) From Title : 웹 폼 화면 최상단에 표시되는 제목

· 뉴스 수집 키워드 입력

(3) From Description : 폼 제목 아래 표시되는 안내 설명

· 수집할 키워드와 기간을 입력하세요.

- 키워드 입력(Form Elements) (*) Add attibutes를 통해 추가

(1) Label : 폼 화면에 표시되는 항목의 이름

· 키워드 : 사용자에게 받을 키워드

(2) Element Type : 항목 입력 방식 (drop down, 텍스트 입력 등)

· Text input : 입력 방식의 형태

(2-1) Field Option : (drop down 선택 시,) 각각의 옵션 (선택1, 선택2 등)

3) Execute step 클릭하여 Output 확인 (예시)

"키워드": "한맥기술",

"수집 기간": "당일",

"submittedAt": "2026-02-23T10:06:48.754+09:00",

"formMode": "test"

[참고 2] Step 2. 검색 내용 수집&정리 – 기사 수집

Naver에서 제공하는 기사 중(Naver API) 사용자가 입력한 키워드를 기준으로 기사를 수집함.

* Naver API : 네이버가 외부 개발자에게 제공하는 검색 기능. 키워드를 입력하면 네이버에서 해당 키워드와 관련된 검색 결과를 자동으로 돌려줌. 사람이 직접 네이버에서 검색하는 것과 동일한 결과를 프로그램이 자동으로 받아올 수 있게 해주는 서비스.

- 세부 단계

1) “HTTP Request” 노드 추가

* HTTP Request : 외부 인터넷 서비스에 데이터를 요청하고 결과를 받아오는 노드. 웹 브라우저가 특정 주소로 접속해서 정보를 가져오는 것과 동일한 동작.→ 이번에는 네이버 검색 서비스(Naver API)에 접속하여 검색 결과를 가져옴

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Method : 네이버에 어떤 방식으로 요청을 보낼지 설정

· Get : 데이터를 읽어서 가져오라는 방식

(2) URL : 요청 보낼 네이버 서버 주소 (API 주소)

· https://openapi.naver.com/v1/search/news.json

(3) Authentication : 인증 방식

· None

- 검색 조건 설정 : “Send Query Parameters”를 On으로 체크

(1) Specify Query Parameters : 검색 조건을 어떤 방식으로 입력할지 선택

· Using Fields Below (아래의 사항을 중심으로 하나씩 입력)

(2) Query Parameters : 검색을 Name(항목)과 Value(값)로 입력

· Name / Value

① query / (좌측의 “키워드”를 드레그&드랍) : 네이버에 검색할 키워드

② display / 12 : 가져올 검색 결과 수 (최대 100개까지 가능)

③ sort / date : 결과 정렬 방식 (날짜 최신순)

- 네이버 API를 쓰기위한 사용자 정보 입력 : “Send Headers”를 On으로 체크

(1) Specify Headers  : 인증 정보 입력 방식

· Using Fields Below (아래의 사항을 중심으로 하나씩 입력)

(2) Headers : 실제 인증 정보를 Name(항목)과 Value(값)로 입력

· Name / Value

① X-naver-client-id : 회원 아이디

② X-naver-client-secret : 회원 비밀번호

3) Execute step 클릭하여 Output 확인 (예시)

"lastBuildDate": "Mon, 23 Feb 2026 10:32:35 +0900",

"total": 3265,

"start": 1,

"display": 12,

"items": [

{

"title": "2월 3주 엔지니어링 주간 입낙찰 동향",

"originallink": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"link": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"description": "이산&b&기술&/b&단 금액 : 22억984만원 사업명 : 함양군 노후상수관망 정비사업 기본 및 실시설계 발주처... 삼안, &b&한맥&/b& 금액 : 29억1,115만원 사업명 : 노성·상월면 일원 하수관로 정비사업 기본 및 실시설계 발주처... ",

"pubDate": "Thu, 19 Feb 2026 10:20:00 +0900"

},

※ 기사 수집 방법 : RSS, Perplexity, (코드 활용)매체별 크롤링 등은 샘플로 정리

[참고 3] Step 2. 검색 내용 수집&정리 – 수집 정보 정리

수집된 기사는 하나의 묶음으로 묶여있기 때문에 데이터를 하나씩 분리하여 다음 단계로 넘기기 위한 전처리 단계

- 세부 단계

1) “Split out” 노드 추가

* Split out : 한 묶음으로 묶여있는 데이터를 하나씩 분리하는 노드.→ 네이버 API가 돌려준 12개 기사 묶음을 1개씩 떼어내어 다음 단계로 하나씩 넘겨줌

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Fields to split out : 묶음 데이터 중 어떤 항목을 분리할지 지정

· Items : 네이버 API 결과에서 기사 목록이 담긴 항목

(2) Include : 분리된 데이터 외에 다른 정보도 함께 넘길지 설정

· No other fields : 기사 내용만 남기고 나머지 정보는 제외

3) Execute step 클릭하여 Output 확인 (예시)

"lastBuildDate": "Mon, 23 Feb 2026 10:32:35 +0900",

"total": 3265,

"start": 1,

"display": 12,

"items": [

{

"title": "2월 3주 엔지니어링 주간 입낙찰 동향",

"originallink": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"link": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"description": "이산&b&기술&/b&단 금액 : 22억984만원 사업명 : 함양군 노후상수관망 정비사업 기본 및 실시설계 발주처... 삼안, &b&한맥&/b& 금액 : 29억1,115만원 사업명 : 노성·상월면 일원 하수관로 정비사업 기본 및 실시설계 발주처... ",

"pubDate": "Thu, 19 Feb 2026 10:20:00 +0900"

},

[참고 4] Step 2. 검색 내용 수집&정리 – 기사 본문 수집

네이버 API에서 본문을 제공하지 않기에 수집한 링크로 직접 접속하여 본문을 전체 읽어오는 단계.

(대부분의 언론사가의 포맷 상이, 외부 접근을 막고 있어 Jina AI를 활용하여 본문을 수집.)

* Jina AI : 특정 웹페이지 주소(URL)를 전달하면 해당 페이지의 본문을 읽어서 텍스트로 변환해 주는 서비스. 구독이 필요한 언론사 사이트도 본문을 읽어올 수 있음. (무료 계정 기준 시간당 20건 제한)

- 세부 단계

1) “HTTP Request” 노드 추가

* HTTP Request : 외부 인터넷 서비스에 데이터를 요청하고 결과를 받아오는 노드. 웹 브라우저가 특정 주소로 접속해서 정보를 가져오는 것과 동일한 동작.→ 이번에는 지나 AI서비스에 기사 링크를 전달하여 본문 전체를 가져오고자 함

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Method : Jina AI 서비스에 전달하는 방식

· Get : 데이터를 읽어서 가져오라는 방식

(2) URL : 요청 보낼 주소 (Jina 링크 뒤에 각각의 링크 추가)

· https://r.jina.ai/{{ $json.link }}

(3) Authentication : 인증 방식

· None

- Jina AI API를 쓰기 위한 사용자 정보 입력 : “Send Headers”를 On으로 체크

(1) Specify Headers  : 인증 정보 입력 방식

· Using Fields Below (아래의 사항을 중심으로 하나씩 입력)

(2) Headers : 실제 인증 정보를 Name(항목)과 Value(값)로 입력

· Name / Value

① Authorization / Bearer jina_a72bde1404d14c2a94fd0c8b357cf795yFATC69lNjusqnhy5ymUhnqjBMNh

* Jina AI에서 제공하는 API 키 등록(20건까지 무료)

3) Execute step 클릭하여 Output 확인 (예시)

"data": "Title: 2월 3주 엔지니어링 주간 입낙찰 동향\n\nURL Source: http://www.engdaily.com/news/articleView.html?idxno=21743\n\nPublished Time: 2026-02-19T10:18:38+09:00\n\nMarkdown Content:\n2월 3주 엔지니어링 주간 입낙찰 동향 – 엔지니어링데일리\n===============\n\n×\n*

[전체기사](http://www.engdaily.com/news/articleList.html?view_type=sm)\n*

[뉴스](http://www.engdaily.com/news/articleList.html?sc_section_code=S1N1&view_type=sm)\n *

[전체](http://www.engdaily.com/news/articleList.html?sc_section_code=S1N1&view_type=sm)\n *

[정책](http://www.engdaily.com/news/articleList.html?sc_sub_section_code=S2N1&view_type=sm)\n *

[업계](http://www.engdaily.com/news/articleList.html?sc_sub_section_code=S2N2&view_type=sm)\n * [

[참고 5] Step 2. 검색 내용 수집&정리 – 기사 본문 정리

Jina AI를 통해 수집된 본문에서 필요한 정보만을 추출하는 단계

* Jina AI가 가져온 원본에는 기사 본문 외에 광고, 메뉴, 댓글, 이미지 설명 등 불필요한 내용이 섞여 있어 이를 자동으로 걸러내는 처리가 필요함.

- 세부 단계

1) “Code” 노드 추가

* Code :  AI를 활용하여 코드를 작성, 데이터를 원하는 형태로 가공하는 노드.→ 이번에는 Jina AI가 가져온 원본 텍스트에서 순수 기사 본문만 추출하고, 앞 단계(Split Out)의 제목·발행일·링크 정보와 합치는 용도로 사용.

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Mode : 코드를 어떠한 방식으로 실행할지에 대한 설정

· Run once for each item : 12개 기사 1개씩 반복 처리

(2) Language : 코드를 어떤 프로그래밍 언어로 작성할지 선택

· Javascript

(3) 코드 입력

· (claude에 해당 사항에서 본문 추출을 위한 코드 정리 요청)

[입력 프롬프트]

* (참고 5. 결과물 중 샘플 3개 입력 후)

수집한 기사 본문에서 광고·메뉴·링크·이미지 등 불필요한 내용을 제거하고, 순수한 본문 내용만 추출하고자 해.본문 구조를 파악하여 n8n Code 노드용 JavaScript 코드로 정리해줘.최종 출력 항목은 제목, 발행일, url, 주요내용, 본문전체이고,앞 단계 노드명은 '수집 정보 정리'야.

[클로드 코드]

원본 전체를 Raw 저장 → 마크다운 콘텐츠 추출(제목, url 메타정보 삭제) → 50자 미만 줄 제거, 헤더목차,강조, 링크, 이미지 등 제거 → 본문 정리 → 수집정보 정리(참고4)와 본문을 하나로 정리

3) Execute step 클릭하여 Output 확인 (예시)

"title": "2월 3주 엔지니어링 주간 입낙찰 동향",

"발행일": "Thu, 19 Feb 2026 10:20:00 +0900",

"url": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"주요내용": "이산&b&기술&/b&단 금액 : 22억984만원 사업명 : 함양군 노후상수관망 정비사업 기본 및 실시설계 발주처... 삼안, &b&한맥&/b& 금액 : 29억1,115만원 사업명 : 노성·상월면 일원 하수관로 정비사업 기본 및 실시설계 발주처... ",

"본문전체": "(엔지니어링데일리) 정원기 기자 = 19일 엔지니어링업계에 따르면 2월 3주 엔지니어링 입낙찰 동향은 다음과 같다. 사업명 : 2026년도 호남고속선 오송~익산간 외 2개소 궤도 정밀진단 및 성능평가 엔지니어링 사업명 : 용산국제업무지구 동서방향연결도로 외 3개소 재해영향성검토 및 (소규모)재해영향평가 사업명 : 산양,사창 노후하수관로 정비 및 하리1 배수분구 중점관리지역 도시침수 대응사업 통합건설사업관리"

[참고 6] Step 2. 검색 내용 수집&정리 – 기사 저장하기

참고 5에서 정리된 기사 정보(제목, 발행일, url, 주요내용, 본문전체)를 구글 스프레드시트 시트1에 한 줄씩 저장하는 단계.

* 사전 구글 계정의 연결 필요(참고 6-1)

- 세부 단계

1) “Google sheets_append row in sheet” 노드 추가

* Google sheets : 구글 스프레드시트에 데이터를 읽거나 쓰는 노드

* append row in sheet : 정리된 기사 정보를 지정한 시트에 한 줄씩 추가

2) Parameters에서 요청 내용 정리

- 기본 설정 (사전 구글 계정 연동 필요(참고 6-1))

(1) Credential to connet with : 연결할 구글 계정 선택

· Google sheets account

(2) Resource : 구글 서비스 중 선택할 소스

· sheet within document

(3) Operation : 작업 선택

· Append Row : 시트 마지막 행에 새줄 추가

(4) Document : 저장할 구글 스프레드시트파일

· sample

(5) sheet : 저장할 시트 선택

· 시트 1

- 구글 시트에 입력 방식 선택 : Mapping column mode

Map Each Column Manually : 항목을 하나씩 직접 지정하여 저장

* 구글시트에 있는 head가 자동으로 Value to send 항목으로 정리. 좌측 input을 매칭

3) Execute step 클릭하여 Output 확인 (예시)

"title": "2월 3주 엔지니어링 주간 입낙찰 동향",

"url": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"주요내용": "이산&b&기술&/b&단 금액 : 22억984만원 사업명 : 함양군 노후상수관망 정비사업 기본 및 실시설계 발주처... 삼안, &b&한맥&/b& 금액 : 29억1,115만원 사업명 : 노성·상월면 일원 하수관로 정비사업 기본 및 실시설계 발주처... ",

"발행일": "Thu, 19 Feb 2026 10:20:00 +0900",

“구분” : 1,

"본문전체": "(엔지니어링데일리) 정원기 기자 = 19일 엔지니어링업계에 따르면 2월 3주 엔지니어링 입낙찰 동향은 다음과 같다. 사업명 : 2026년도 호남고속선 오송~익산간 외 2개소 궤도 정밀진단 및 성능평가 엔지니어링 사업명 : 용산국제업무지구 동서방향연결도로 외 3개소 재해영향성검토 및 (소규모)재해영향평가 사업명 : 산양,사창 노후하수관로 정비 및 하리1 배수분구 중점관리지역 도시침수 대응사업 통합건설사업관리"

[참고 6-1] Step 2. 검색 내용 수집&정리 – 기사 저장하기 (구글 계정 연결하기)

Credential to connect with

* “+ create new credential” 클릭 →  Client ID, client Secret 입력

1) console.cloud.google.com 접속

(1) 프로젝트 생성 : 프로젝트 선택 → 새프로젝트 → 프로젝트 이름 입력 후 만들기

(2) API 활성화 :

① 구글 시트

(좌측) API 및 서비스 → 라이브러리 → (검색창에) google sheets api  → “사용” 클릭

② 구글 드라이브

(좌측) API 및 서비스 → 라이브러리 → (검색창에) google drive api  → “사용” 클릭

(3) OAuth 2.0 클라이언트 ID 생성

① (좌측) 사용자 인증정보 → (상단) + 사용자 인증 정보 만들기 → OAuth 클라이언트 ID

→ 동의 화면 구성 → 시작하기

② 입력

- 앱이름 : n8n / 사용자 지원 이메일 : 입력

- 대상 : 외부

- 이메일 및 완료

③ OAuth 클라이언트 만들기

- 애플리케이션 유형 : 웹 애플리케이션

- 이름 : n8n

- 승인된 리디렉션 URI : http://localhost:5678/rest/oauth2-credential/callback

(4) 사용자 등록

(좌측) API 및 서비스 → OAuth 동의 → 대상 → 테스트사용자 +Add users  → (이메일 입력 후) 저장

2) 아이디 비번 입력

- Client ID / Client Sectret 입력  & save 버튼 클릭

- Sign in with google 클릭 후 로그인 허용

[참고 7] Step 3. AI 인사이트 생성 - 전처리

참고 6에서 저장된 12개 기사의 본문을 AI가 한 번에 분석할 수 있도록 하나로 합치는 단계.

* 12개를 각각 AI에 보내면 API 호출이 12번 발생하여 비용과 시간이 늘어남. 하나로 합쳐서 1번만 호출하도록 전처리.

- 세부 단계

1) “Aggregate” 노드 추가

* Aggregate : 여러 개로 나뉜 데이터를 하나로 합치는 노드.→ 이번에는 12개 기사의 본문전체 항목을 하나의 묶음으로 합쳐서 Gemini AI로 전달하는 용도로 사용.

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Aggregate : 어떠한 방식으로 합칠지 선택

· All Item Data (Into a Single List) : 모든 항목을 하나의 리스트로 합침

(2) Put Output in Field : 합쳐진 결과를 어떤 이름으로 저장할지 설정

· data

(3) Include : 합칠 때 어떤 항목을 포함할지 설정

· Selected Fields : 지정한 항목만 포함

· Field Name : 본문전체

3) Execute step 클릭하여 Output 확인 (예시) - 12개 기사가 하나로 합쳐져서 출력

"title": "2월 3주 엔지니어링 주간 입낙찰 동향",

"url": "http://www.engdaily.com/news/articleView.html?idxno=21743",

"주요내용": "이산&b&기술&/b&단 금액 : 22억984만원 사업명 : 함양군 노후상수관망 정비사업 기본 및 실시설계 발주처... 삼안, &b&한맥&/b& 금액 : 29억1,115만원 사업명 : 노성·상월면 일원 하수관로 정비사업 기본 및 실시설계 발주처... ",

"발행일": "Thu, 19 Feb 2026 10:20:00 +0900",

“구분” : 1,

"본문전체": "(엔지니어링데일리) 정원기 기자 = 19일 엔지니어링업계에 따르면 2월 3주 엔지니어링 입낙찰 동향은 다음과 같다. 사업명 : 2026년도 호남고속선 오송~익산간 외 2개소 궤도 정밀진단 및 성능평가 엔지니어링 사업명 : 용산국제업무지구 동서방향연결도로 외 3개소 재해영향성검토 및 (소규모)재해영향평가 사업명 : 산양,사창 노후하수관로 정비 및 하리1 배수분구 중점관리지역 도시침수 대응사업 통합건설사업관리"

[참고 8] Step 3. AI 인사이트 생성 – 본문 분석

참고 7 결과물(하나로 합쳐진 12개 기사 본문)을 Gemini AI에게 전달하여 인사이트 3가지를 추출

* 사전 Gemini API 키 발급 필요

- 세부 단계

1) “Google Gemini” 노드 추가

- Text action Message a model 선택

* Text action message a model :  텍스트를 Gemini AI에게 전달하고 분석 결과를 받아오는 기능

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Credential to connect with : Gemini API 키 입력

(2) Resource : input 데이터 형식

· Text

(3) Operation ; resource를 통하여 어떠한 작업을 하는지 확인

· Message a model : AI에게 메시지를 보내도 답변 수취

(4) Model : Gemini AI 모델 선택

(5) Messages : 프롬프트 입력

· Prompt : 내가 AI에게 입력

아래는 '{{ $('키워드 입력(Trigger)').first().json['키워드'] }}' 키워드 관련 뉴스 본문들입니다.

{{ $json.data.map(item => item['본문 전체']).join('\n\n') }}

위 내용을 바탕으로 주요 인사이트 3개를 아래 JSON 형식으로만 답해줘. 다른 말은 하지 마:

[  {"제목": "인사이트 제목", "내용": "상세 내용", "링크": "관련 기사 URL"},

{"제목": "인사이트 제목", "내용": "상세 내용", "링크": "관련 기사 URL"},

{"제목": "인사이트 제목", "내용": "상세 내용", "링크": "관련 기사 URL"}

]

· Model : AI가 이전에 한 말을 다시 넣어서 실행

3) Execute step 클릭하여 Output 확인 (예시) - 12개 기사가 하나로 합쳐져서 출력

"text": "```json\n[\n {\n \"제목\": \"한맥기술, 건설 특화 2D·3D 통합 설계 솔루션 'EG-BIM' 상용화 테스트 참여\",\n \"내용\": \"㈜한맥기술은 바론컨설턴트가 자체 개발한 2D 설계와 3D 뷰어 기능을 통합한 건설특화 CAD 솔루션 'EG-BIM(이지빔)'의 상용화 테스트에 참여하여 실무 안정성을 검증받았다.\",\n \"링크\": \"https://www.dnews.co.kr/uhtml/view.jsp?idxno=202601200915035880355#\"\n },\n {\n \"제목\": \"박다정 한맥 대표, '미래를 이끌어갈 여성지도자상' 농업 부문 수상\",\n \"내용\": \"강원도 평창에서 약용 작물(천궁·당귀)을 재배하는 박다정 한맥 대표가 청년 여성 농업인 육성과 농업 발전에 기여한 공로를 인정받아 여성신문의 '미래를 이끌어갈 여성지도자상'을 수상했다. 그녀는 귀농 후 데이터화된 농사 노하우와 드론 방제사 자격증 취득 등 신기술을 접목하며 농업 혁신을 이끌고 있다.\",\n

[참고 9] Step 3. AI 인사이트 생성 – 인사이트 정리

참고 8에서 Gemini AI가 돌려준 결과를 구글 시트에 저장할 수 있는 형태로 가공하는 단계

.※ Gemini AI 응답은 JSON 형식으로 오기 때문에 이를 번호/제목/내용/링크 항목으로 분리해야 함.

- 세부 단계

1) “Code” 노드 추가

* Code : AI를 활용하여 코드를 작성, 데이터를 원하는 형태로 가공하는 노드.→ 이번에는 Gemini AI가 JSON 형식으로 돌려준 인사이트 3개를 번호/제목/내용/링크로 각각 분리하여 구글 시트에 저장할 수 있는 형태로 정리.

2) Parameters에서 요청 내용 정리

- 기본 설정

(1) Mode : 코드를 어떠한 방식으로 실행할지에 대한 설정

· Run once for all item : 1개 결과물을 정리

(2) Language : 코드를 어떤 프로그래밍 언어로 작성할지 선택

· Javascript

(3) 코드 입력

· (claude에 해당 사항에서 본문 추출을 위한 코드 정리 요청)

[입력 프롬프트]

* (참고 8. Gemini 결과물 입력 후)

위는 Gemini AI가 돌려준 인사이트 결과입니다. JSON을 파싱하여 인사이트 3개를 각각 번호(#), 인사이트 제목, 관련 내용, 관련 링크 항목으로 분리하는 n8n Code 노드용 JavaScript 코드를 작성해줘.

[클로드 코드]

Gemini 응답 텍스트 수신 → JSON 파싱 → 인사이트 3개를 각각 분리 → 번호/제목/내용/링크 4개 항목으로 정리하여 다음 단계로 전달

3) Execute step 클릭하여 Output 확인 (예시)

"#": 1,

"인사이트": "한맥기술, 건설 특화 2D·3D 통합 설계 솔루션 'EG-BIM' 상용화 테스트 참여",

"관련 내용": "㈜한맥기술은 바론컨설턴트가 자체 개발한 2D 설계와 3D 뷰어 기능을 통합한 건설특화 CAD 솔루션 'EG-BIM(이지빔)'의 상용화 테스트에 참여하여 실무 안정성을 검증받았다.",

"관련 링크": "https://www.dnews.co.kr/uhtml/view.jsp?idxno=202601200915035880355#"

"#": 2,

"인사이트": "박다정 한맥 대표, '미래를 이끌어갈 여성지도자상' 농업 부문 수상",

"관련 내용": "강원도 평창에서 약용 작물(천궁·당귀)을 재배하는 박다정 한맥 대표가 청년 여성 농업인 육성과 농업 발전에 기여한 공로를 인정받아 여성신문의 '미래를 이끌어갈 여성지도자상'을 수상했다. 그녀는 귀농 후 데이터화된 농사 노하우와 드론 방제사 자격증 취득 등 신기술을 접목하며 농업 혁신을 이끌고 있다.",

"관련 링크": "https://n.news.naver.com/mnews/article/310/0000133113?sid=102#"

[참고 10] Step 3. AI 인사이트 생성 – 저장하기

참고 9에서 정리된 인사이트 3개를 구글 스프레드시트 Sheet2에 한 줄씩 저장하는 단계

- 세부 단계

1) “Google sheets_append row in sheet” 노드 추가

* Google sheets : 구글 스프레드시트에 데이터를 읽거나 쓰는 노드

* append row in sheet : 정리된 기사 정보를 지정한 시트에 한 줄씩 추가

2) Parameters에서 요청 내용 정리

- 기본 설정 (사전 구글 계정 연동 필요(참고 6-1))

(1) Credential to connet with : 연결할 구글 계정 선택

· Google sheets account

(2) Resource : 구글 서비스 중 선택할 소스

· sheet within document

(3) Operation : 작업 선택

· Append Row : 시트 마지막 행에 새줄 추가

(4) Document : 저장할 구글 스프레드시트파일

· sample

(5) sheet : 저장할 시트 선택

· 시트 2

- 구글 시트에 입력 방식 선택 : Mapping column mode

Map Each Column Manually : 항목을 하나씩 직접 지정하여 저장

* 구글시트에 있는 head가 자동으로 Value to send 항목으로 정리. 좌측 input을 매칭

3) Execute step 클릭하여 Output 확인 (예시)

"인사이트": "한맥기술, 건설 특화 2D·3D 통합 설계 솔루션 'EG-BIM' 상용화 테스트 참여",

"관련 내용": "㈜한맥기술은 바론컨설턴트가 자체 개발한 2D 설계와 3D 뷰어 기능을 통합한 건설특화 CAD 솔루션 'EG-BIM(이지빔)'의 상용화 테스트에 참여하여 실무 안정성을 검증받았다.",

"링크": "https://www.dnews.co.kr/uhtml/view.jsp?idxno=202601200915035880355#"