27 KiB
n8n을 활용한 뉴스 기사 수집 Sample
n8n n8n을 활용한 뉴스 기사 수집 Sample 개요
- 키워드를 입력하면 인터넷에서 키워드 연관 기사를 수집·분석하여 인사이트 정보를 정리 (키워드 입력 → 네이버 키워드 검색 및 본문 정리 → AI 인사이트 생성)
- 결과물 : 네이버 뉴스 기사 수집 내용(naver api 시트), 기사 분석 내용(sheet 2) 세부 파이프라인 구분 노드명 수행 내용 비고 웹 브라우저 상태에서 입력 가능한 폼. Step 1. 키워드 입력 키워드와 수집 기간을 입력하도록 페이지 구성. 참고 1 키워드 입력 (Trigger) (키워드와 기간으로 뉴스 수집) Naver API로 제공된 기사 중, 입력한 키워드와 기간 내의 기사 수집 참고 2 기사를 수집 (※ 샘플로 12개만을 수집함) 수집된 기사 정보를 처리할 수 있도록 분리 수집 정보 정리 참고 3 (수집된 12개 기사 묶음을 1개씩 처리하도록 분리) Step 2. 검색 내용 각 기사별 링크로 접속하여 본문을 수집 기사 본문 수집 참고 4 수집&정리 (본문 수집을 위하여 Jina AI 활용) 본문 정리 본문 중 광고, 메뉴, 댓글 등 불필요한 내용 제거 참고 5 구글 시트에 수집된 기사의 내용을 한줄씩 정리 기사 저장하기 참고 6 (번호, 제목, 발행일, url, 요약, 본문 전체를 저장) (AI 분석을 위한) 12개의 본문을 AI가 분석할 수 있도록 하나로 묶음 참고 7 전처리 (AI) 본문 분석 Gemini AI가 본문 내용 중 핵심 인사이트 3가지를 정리 참고 8 Step 3. AI 인사이트 생성 AI가 응답한 결과를 구글 시트에 정리하기 위하여 정리 인사이트 정리 참고 9 (번호, 인사이트 제목, 내용, 관련 링크) 저장하기 인사이트 3개를 구글시트 Sheet 2번에 저장 참고 10 ※ (사전) 구글 계정 연결 필요 (참고 6-1) 기사 수집 대상 및 방법의 보완 향후 계획 ⇨ 현재 naver api만으로 기사 수집 ⇨ 현재 jina ai를 활용하여 본문 수집(20건 제한) 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 1 -
[참고 1] Step 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(채팅 메시지 받을 때)
- 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 등)
- Execute step 클릭하여 Output 확인 (예시) "키워드": "한맥기술", "수집 기간": "당일", "submittedAt": "2026-02-23T10:06:48.754+09:00", "formMode": "test" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 2 -
[참고 2] Step 2. 검색 내용 수집&정리 – 기사 수집 Naver에서 제공하는 기사 중(Naver API) 사용자가 입력한 키워드를 기준으로 기사를 수집함.
- Naver API : 네이버가 외부 개발자에게 제공하는 검색 기능. 키워드를 입력하면 네이버에서 해당 키워드와 관련된 검색 결과를 자동으로 돌려줌. 사람이 직접 네이버에서 검색하는 것과 동일한 결과를 프로그램이 자동으로 받아올 수 있게 해주는 서비스.
- 세부 단계
- “HTTP Request” 노드 추가
- HTTP Request : 외부 인터넷 서비스에 데이터를 요청하고 결과를 받아오는 노드. 웹 브라우저가 특정 주소로 접속해서 정보를 가져오는 것과 동일한 동작.→ 이번에는 네이버 검색 서비스(Naver API)에 접속하여 검색 결과를 가져옴
- 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, (코드 활용)매체별 크롤링 등은 샘플로 정리 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 4 -
[참고 3] Step 2. 검색 내용 수집&정리 – 수집 정보 정리 수집된 기사는 하나의 묶음으로 묶여있기 때문에 데이터를 하나씩 분리하여 다음 단계로 넘기기 위 한 전처리 단계
- 세부 단계
- “Split out” 노드 추가
- Split out : 한 묶음으로 묶여있는 데이터를 하나씩 분리하는 노드.→ 네이버 API가 돌려준 12개 기사 묶음을 1개씩 떼어 내어 다음 단계로 하나씩 넘겨줌
- Parameters에서 요청 내용 정리
- 기본 설정 (1) Fields to split out : 묶음 데이터 중 어떤 항목을 분리할지 지정 · Items : 네이버 API 결과에서 기사 목록이 담긴 항목 (2) Include : 분리된 데이터 외에 다른 정보도 함께 넘길지 설정 · No other fields : 기사 내용만 남기고 나머지 정보는 제외
- 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" }, 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 5 -
[참고 4] Step 2. 검색 내용 수집&정리 – 기사 본문 수집 네이버 API에서 본문을 제공하지 않기에 수집한 링크로 직접 접속하여 본문을 전체 읽어오는 단계. (대부분의 언론사가의 포맷 상이, 외부 접근을 막고 있어 Jina AI를 활용하여 본문을 수집.)
- Jina AI : 특정 웹페이지 주소(URL)를 전달하면 해당 페이지의 본문을 읽어서 텍스트로 변환해 주는 서비스. 구독이 필요 한 언론사 사이트도 본문을 읽어올 수 있음. (무료 계정 기준 시간당 20건 제한)
- 세부 단계
- “HTTP Request” 노드 추가
- HTTP Request : 외부 인터넷 서비스에 데이터를 요청하고 결과를 받아오는 노드. 웹 브라우저가 특정 주소로 접속해서 정보를 가져오는 것과 동일한 동작.→ 이번에는 지나 AI서비스에 기사 링크를 전달하여 본문 전체를 가져오고자 함
- 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건까지 무료)
- 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* 전체기사\n* 뉴스\n * 전체\n * 정책\n * 업계\n * [ 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 6 -
[참고 5] Step 2. 검색 내용 수집&정리 – 기사 본문 정리 Jina AI를 통해 수집된 본문에서 필요한 정보만을 추출하는 단계
- Jina AI가 가져온 원본에는 기사 본문 외에 광고, 메뉴, 댓글, 이미지 설명 등 불필요한 내용이 섞여 있어 이를 자동으로 걸러 내는 처리가 필요함.
- 세부 단계
- “Code” 노드 추가
- Code : AI를 활용하여 코드를 작성, 데이터를 원하는 형태로 가공하는 노드.→ 이번에는 Jina AI가 가져온 원본 텍스트에 서 순수 기사 본문만 추출하고, 앞 단계(Split Out)의 제목·발행일·링크 정보와 합치는 용도로 사용.
- 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)와 본문을 하나로 정리
- 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 배 수분구 중점관리지역 도시침수 대응사업 통합건설사업관리" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 7 -
[참고 6] Step 2. 검색 내용 수집&정리 – 기사 저장하기 참고 5에서 정리된 기사 정보(제목, 발행일, url, 주요내용, 본문전체)를 구글 스프레드시트 시트1에 한 줄씩 저장하는 단계.
- 사전 구글 계정의 연결 필요(참고 6-1)
- 세부 단계
- “Google sheets_append row in sheet” 노드 추가
- Google sheets : 구글 스프레드시트에 데이터를 읽거나 쓰는 노드
- append row in sheet : 정리된 기사 정보를 지정한 시트에 한 줄씩 추가
- 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을 매칭
- 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 배 수분구 중점관리지역 도시침수 대응사업 통합건설사업관리" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 8 -
[참고 6-1] Step 2. 검색 내용 수집&정리 – 기사 저장하기 (구글 계정 연결하기) Credential to connect with
- “+ create new credential” 클릭 → Client ID, client Secret 입력
- 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 → (이메일 입력 후) 저장
- 아이디 비번 입력
- Client ID / Client Sectret 입력 & save 버튼 클릭
- Sign in with google 클릭 후 로그인 허용 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 9 -
[참고 7] Step 3. AI 인사이트 생성 - 전처리 참고 6에서 저장된 12개 기사의 본문을 AI가 한 번에 분석할 수 있도록 하나로 합치는 단계.
- 12개를 각각 AI에 보내면 API 호출이 12번 발생하여 비용과 시간이 늘어남. 하나로 합쳐서 1번만 호출하도록 전처리.
- 세부 단계
- “Aggregate” 노드 추가
- Aggregate : 여러 개로 나뉜 데이터를 하나로 합치는 노드.→ 이번에는 12개 기사의 본문전체 항목을 하나의 묶음으로 합 쳐서 Gemini AI로 전달하는 용도로 사용.
- Parameters에서 요청 내용 정리
- 기본 설정 (1) Aggregate : 어떠한 방식으로 합칠지 선택 · All Item Data (Into a Single List) : 모든 항목을 하나의 리스트로 합침 (2) Put Output in Field : 합쳐진 결과를 어떤 이름으로 저장할지 설정 · data (3) Include : 합칠 때 어떤 항목을 포함할지 설정 · Selected Fields : 지정한 항목만 포함 · Field Name : 본문전체
- 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 배 수분구 중점관리지역 도시침수 대응사업 통합건설사업관리" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 10 -
[참고 8] Step 3. AI 인사이트 생성 – 본문 분석 참고 7 결과물(하나로 합쳐진 12개 기사 본문)을 Gemini AI에게 전달하여 인사이트 3가지를 추출
- 사전 Gemini API 키 발급 필요
- 세부 단계
- “Google Gemini” 노드 추가
- Text action Message a model 선택
- Text action message a model : 텍스트를 Gemini AI에게 전달하고 분석 결과를 받아오는 기능
- 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가 이전에 한 말을 다시 넣어서 실행
- 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 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 11 -
[참고 9] Step 3. AI 인사이트 생성 – 인사이트 정리 참고 8에서 Gemini AI가 돌려준 결과를 구글 시트에 저장할 수 있는 형태로 가공하는 단계 .※ Gemini AI 응답은 JSON 형식으로 오기 때문에 이를 번호/제목/내용/링크 항목으로 분리해야 함.
- 세부 단계
- “Code” 노드 추가
- Code : AI를 활용하여 코드를 작성, 데이터를 원하는 형태로 가공하는 노드.→ 이번에는 Gemini AI가 JSON 형식으로 돌 려준 인사이트 3개를 번호/제목/내용/링크로 각각 분리하여 구글 시트에 저장할 수 있는 형태로 정리.
- 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개 항목으로 정리하여 다음 단계로 전달
- 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#" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 12 -
[참고 10] Step 3. AI 인사이트 생성 – 저장하기 참고 9에서 정리된 인사이트 3개를 구글 스프레드시트 Sheet2에 한 줄씩 저장하는 단계
- 세부 단계
- “Google sheets_append row in sheet” 노드 추가
- Google sheets : 구글 스프레드시트에 데이터를 읽거나 쓰는 노드
- append row in sheet : 정리된 기사 정보를 지정한 시트에 한 줄씩 추가
- 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을 매칭
- Execute step 클릭하여 Output 확인 (예시) "인사이트": "한맥기술, 건설 특화 2D·3D 통합 설계 솔루션 'EG-BIM' 상용화 테스트 참여", "관련 내용": "㈜한맥기술은 바론컨설턴트가 자체 개발한 2D 설계와 3D 뷰어 기능을 통합한 건설특화 CAD 솔루션 'EG-BIM(이지빔)'의 상용화 테스트에 참여하여 실무 안정성을 검증받았다.", "링크": "https://www.dnews.co.kr/uhtml/view.jsp?idxno=202601200915035880355#" 기술로 사람과 자연이 함께하는 세상을 만들어 갑니다.
- 13 -