8
n8n 한국어amn8n.com

매일 UPSC 시사 분석

고급

이것은자동화 워크플로우로, 20개의 노드를 포함합니다.주로 Code, Html, HttpRequest, GoogleSheets, ManualTrigger 등의 노드를 사용하며. 에서The Hindu자동추출UPSC时事摘要로Google Sheets,사용Gemini AI

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
  • Google Gemini API Key

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "name": "Daily UPSC Current Affairs Analysis from The Hindu to Google Sheets",
  "tags": [],
  "nodes": [
    {
      "name": "워크플로우 실행 시",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -64,
        160
      ],
      "parameters": {},
      "typeVersion": 1,
      "id": "--0"
    },
    {
      "name": "HTTP 요청: The Hindu 첫 페이지 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        272,
        16
      ],
      "parameters": {
        "url": "https://www.thehindu.com/latest-news/",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "id": "HTTP-The-Hindu--1"
    },
    {
      "name": "AI 에이전트: UPSC 뉴스 필터링 및 분석",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1616,
        16
      ],
      "parameters": {
        "text": "=Please analyze only those news article which is important for upsc exam (left others) (Only 5-6 most important article needed.) and provide the following information in a structured JSON format.\nOnly 5-6 most important article needed.\n\nArticle URL: {{ $('Code in JavaScript: Pair URL & Title').item.json.url }}\nArticle Content:\n{{ $json.articleText }}\n\nBased on the content, provide:\n1.  A brief summary (2-3 sentences).\n2.  What is important for the UPSC exam (1 sentence).\n3.  The main subject (e.g., Polity, Economy, International Relations, Science & Tech, Environment).\n\nUpload on the google sheet in following columns:\nDate;\tURL;\tSubject;\tBrief Summary;\tWhat is Important",
        "options": {
          "systemMessage": "You are an AI expert in Current Affairs analysis for the UPSC Civil Services Examination. Your task is to filter, analyze, and summarize news articles from The Hindu based *strictly* on their relevance to the official UPSC syllabus (GS Papers I, II, III, IV) and Current Affairs. For every article provided, you must first assess its importance. If it is not one of the *top 5-6 most important* articles, output a rejection statement and do not call the Append tool. If it is relevant, call the Append tool with the extracted and analyzed data.",
          "returnIntermediateSteps": true
        },
        "promptType": "define"
      },
      "typeVersion": 2.2,
      "id": "AI-UPSC--2"
    },
    {
      "name": "Google Gemini 채팅 모델",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1600,
        160
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {},
      "typeVersion": 1,
      "id": "Google-Gemini--3"
    },
    {
      "name": "HTML: 기사 링크 및 제목 추출",
      "type": "n8n-nodes-base.html",
      "position": [
        512,
        16
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "url",
              "attribute": "href",
              "cssSelector": "h3.title > a",
              "returnArray": true,
              "returnValue": "attribute"
            },
            {
              "key": "title",
              "cssSelector": "h3.title > a",
              "returnArray": true
            }
          ]
        }
      },
      "typeVersion": 1.2,
      "id": "HTML--4"
    },
    {
      "name": "HTTP 요청1: 전체 기사 내용 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1104,
        16
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "id": "HTTP-1--5"
    },
    {
      "name": "HTML1: 기사 본문 추출",
      "type": "n8n-nodes-base.html",
      "position": [
        1376,
        16
      ],
      "parameters": {
        "options": {},
        "operation": "extractHtmlContent",
        "extractionValues": {
          "values": [
            {
              "key": "articleText",
              "cssSelector": "div[id^=\"content-body-\"]"
            }
          ]
        }
      },
      "typeVersion": 1.2,
      "id": "HTML1--6"
    },
    {
      "name": "시트에 행 추가",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1920,
        16
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ $json.intermediateSteps[0].action.toolInput.URL || $json.URL }}",
            "Date": "={{ $json.intermediateSteps[0].action.toolInput.Date || $json.Date }}",
            "Subject": "={{ $json.intermediateSteps[0].action.toolInput.Subject || $json.Subject }}",
            "Brief Summary": "={{ $json.intermediateSteps[0].action.toolInput.Brief_Summary || $json['Brief Summary'] }}",
            "What is Important": "={{ $json.intermediateSteps[0].action.toolInput.What_is_Important || $json['What is Important'] }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Subject",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Subject",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Brief Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Brief Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What is Important",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "What is Important",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<GOOGLE_SHEET_GID_UPSC_NEWS>",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/<GOOGLE_SHEET_ID_UPSC_NEWS>/edit#gid=<GOOGLE_SHEET_GID_UPSC_NEWS>",
          "cachedResultName": "UPSC Hindu News"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<GOOGLE_SHEET_ID_UPSC_NEWS>",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/<GOOGLE_SHEET_ID_UPSC_NEWS>/edit?usp=drivesdk",
          "cachedResultName": "Untitled spreadsheet"
        }
      },
      "credentials": {},
      "typeVersion": 4.7,
      "id": "--7"
    },
    {
      "name": "Google Sheets1 시트에 행 추가",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        1776,
        160
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('URL', ``, 'string') }}",
            "Date": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Date', ``, 'string') }}",
            "Subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }}",
            "Brief Summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Brief_Summary', ``, 'string') }}",
            "What is Important": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('What_is_Important', ``, 'string') }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Subject",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Subject",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Brief Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Brief Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "What is Important",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "What is Important",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {
          "useAppend": true
        },
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "<GOOGLE_SHEET_GID_UPSC_NEWS>",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/<GOOGLE_SHEET_ID_UPSC_NEWS>/edit#gid=<GOOGLE_SHEET_GID_UPSC_NEWS>",
          "cachedResultName": "UPSC Hindu News"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "<GOOGLE_SHEET_ID_UPSC_NEWS>",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/<GOOGLE_SHEET_ID_UPSC_NEWS>/edit?usp=drivesdk",
          "cachedResultName": "Untitled spreadsheet"
        },
        "descriptionType": "manual",
        "toolDescription": "Append row in sheet in Google Sheets"
      },
      "credentials": {},
      "typeVersion": 4.7,
      "id": "Google-Sheets1--8"
    },
    {
      "name": "JavaScript 코드: URL 및 제목 매칭",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        16
      ],
      "parameters": {
        "jsCode": "// Get the JSON output from the previous node, which is named \"HTML: Extract Article Links & Titles\"\nconst inputData = $('HTML: Extract Article Links & Titles').first().json;\n\n// Get the arrays from that data\nconst urls = inputData.url;\nconst titles = inputData.title;\n\nconst pairedItems = [];\n\n// Loop through the URLs and pair each one with its title\nfor (let i = 0; i < urls.length; i++) {\n  pairedItems.push({\n    json: {\n      url: urls[i],\n      title: titles[i]\n    }\n  });\n}\n\n// Return the new list of paired items\nreturn pairedItems;"
      },
      "typeVersion": 2,
      "id": "JavaScript-URL--9"
    },
    {
      "name": "일정 트리거: 매일 오전 7시",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -64,
        -16
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 7
            }
          ]
        }
      },
      "typeVersion": 1.2,
      "id": "-7--10"
    },
    {
      "name": "스티키 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -128
      ],
      "parameters": {
        "width": 480,
        "height": 816,
        "content": "Automated Daily UPSC Current Affairs Compilation\n\nThis workflow automates the process of creating daily current affairs notes for the Competitive Exams like UPSC.\n\nIt scrapes the latest news from The Hindu, uses an **AI Agent (powered by Google Gemini)** to filter only the **most relevant articles** (5-6 per run), generates a concise summary and UPSC-specific importance note, and automatically logs the analyzed data to a **Google Sheet**.\n\n## Who’s it for\n\n* **UPSC/CSE Aspirants** who want a curated, concise, and focused daily current affairs digest.\n* **Coaching Institutes** who need to automate the creation of daily study material.\n* **Educators** focused on Governance, Economy, and International Relations topics.\n\n## Requirements\n\n* **Google Gemini API Key:** For the Chat Model node.\n* **Google Sheets:** To store the final compiled current affairs digest.\n\n## How to set up\n\n1.  **Credentials:** Connect your **Google Gemini** and **Google Sheets** credentials.\n2.  **Google Sheet Setup:** Link the two Google Sheets nodes to your spreadsheet. Ensure your sheet has the column headers: `Date`, `URL`, `Subject`, `Brief Summary`, and `What is Important`.\n3.  **Scheduling:** Adjust the **Schedule Trigger** time (default is 7 AM) if needed."
      },
      "typeVersion": 1,
      "id": "--11"
    },
    {
      "name": "스티키 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -96
      ],
      "parameters": {
        "width": 288,
        "height": 416,
        "content": "Sets the time for the workflow to run every morning."
      },
      "typeVersion": 1,
      "id": "-1-12"
    },
    {
      "name": "스티키 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        144,
        -96
      ],
      "parameters": {
        "width": 288,
        "height": 400,
        "content": "Sends a request to the latest news section of Newspaper Web."
      },
      "typeVersion": 1,
      "id": "-2-13"
    },
    {
      "name": "스티키 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -96
      ],
      "parameters": {
        "width": 272,
        "height": 384,
        "content": "Parses the received HTML "
      },
      "typeVersion": 1,
      "id": "-3-14"
    },
    {
      "name": "스티키 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -96
      ],
      "parameters": {
        "width": 272,
        "height": 384,
        "content": "Creates a separate data item for every single news article for individual processing"
      },
      "typeVersion": 1,
      "id": "-4-15"
    },
    {
      "name": "스티키 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1024,
        -96
      ],
      "parameters": {
        "width": 272,
        "height": 384,
        "content": "Retrieve its full text/HTML content."
      },
      "typeVersion": 1,
      "id": "-5-16"
    },
    {
      "name": "스티키 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1312,
        -96
      ],
      "parameters": {
        "height": 384,
        "content": "Isolates and extracts the clean, primary article text"
      },
      "typeVersion": 1,
      "id": "-6-17"
    },
    {
      "name": "스티키 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1568,
        -96
      ],
      "parameters": {
        "width": 304,
        "height": 384,
        "content": "Filter for UPSC relevance, summarize, categorize, and prepare the data for the sheet"
      },
      "typeVersion": 1,
      "id": "-7-18"
    },
    {
      "name": "스티키 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        -96
      ],
      "parameters": {
        "width": 256,
        "height": 368,
        "content": "Ensuring the structured data is physically written to the Google Sheet."
      },
      "typeVersion": 1,
      "id": "-8-19"
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "connections": {
    "Google-Gemini--3": {
      "ai_languageModel": [
        [
          {
            "node": "AI-UPSC--2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "HTML1--6": {
      "main": [
        [
          {
            "node": "AI-UPSC--2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "-7--10": {
      "main": [
        [
          {
            "node": "HTTP-The-Hindu--1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI-UPSC--2": {
      "main": [
        [
          {
            "node": "--7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "JavaScript-URL--9": {
      "main": [
        [
          {
            "node": "HTTP-1--5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTML--4": {
      "main": [
        [
          {
            "node": "JavaScript-URL--9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "--0": {
      "main": [
        [
          {
            "node": "HTTP-The-Hindu--1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google-Sheets1--8": {
      "ai_tool": [
        [
          {
            "node": "AI-UPSC--2",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "HTTP-The-Hindu--1": {
      "main": [
        [
          {
            "node": "HTML--4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP-1--5": {
      "main": [
        [
          {
            "node": "HTML1--6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수20
카테고리-
노드 유형10
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자

Automation consultant with expertise in n8n, AI models, and workflow optimization. I help educators, startups, and businesses design scalable automation for content creation, exam prep, and process efficiency. Skilled in integrating Google Sheets, Telegram, and AI agents for impactful results.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34