8
n8n 한국어amn8n.com

웹 레더

중급

이것은Document Extraction분야의자동화 워크플로우로, 15개의 노드를 포함합니다.주로 If, Set, HttpRequest, StopAndError, ExecuteWorkflowTrigger 등의 노드를 사용하며. AI 대리자와 워크플로우를 위해 깨끗한 웹 콘텐츠를 추출하고 반크로봇 대비 대책을 포함

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

카테고리

워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "9UyGvrk6EDY6Hm3W",
  "meta": {
    "instanceId": "7e84375f1a5a2398bff60c3e83bb370423dae55c261ed7c48ca02f15548655a7",
    "templateCredsSetupCompleted": true
  },
  "name": "WebPage-Reader",
  "tags": [],
  "nodes": [
    {
      "id": "f449a425-4ae9-462d-91bb-ff0b85a73202",
      "name": "콘텐츠 추출기",
      "type": "n8n-nodes-webpage-content-extractor.webpageContentExtractor",
      "position": [
        940,
        100
      ],
      "parameters": {
        "html": "={{ $json.data }}"
      },
      "typeVersion": 1
    },
    {
      "id": "e52eddc5-72a7-4bd8-8679-ecedccad447c",
      "name": "Try Antibot Evasion",
      "type": "n8n-nodes-base.if",
      "position": [
        280,
        180
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "1351d4e8-1c27-43c2-8335-aee7c097422a",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.error.code }}",
              "rightValue": "ECONNABORTED"
            },
            {
              "id": "28a4c2eb-0a9b-44ac-87d5-6571be2fb447",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.error.code }}",
              "rightValue": "ETIMEDOUT"
            },
            {
              "id": "1287e08b-a342-4651-8e56-1d1ff4677222",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.error.code }}",
              "rightValue": "ERR_CANCELED"
            },
            {
              "id": "45256daa-063f-4ed3-8ef0-5ec91cdc0974",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.error.code }}",
              "rightValue": "ERR_BAD_REQUEST"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "a90654b8-b83b-41ed-a665-9a0303a84de3",
      "name": "Scrape.do",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        500,
        180
      ],
      "parameters": {
        "url": "=http://api.scrape.do",
        "options": {
          "timeout": 120000
        },
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpQueryAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        }
      },
      "credentials": {
        "httpQueryAuth": {
          "id": "SMKkxhdbOewTAnqe",
          "name": "Scrape.do account"
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "62c1fb07-35e0-4942-b38d-b888b559e109",
      "name": "서버 오류",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        500,
        380
      ],
      "parameters": {
        "errorMessage": "=Error requesting website ({{ $json.error.code }})"
      },
      "typeVersion": 1
    },
    {
      "id": "7e793496-3ba7-4a30-bb6c-d483c00671c6",
      "name": "Not 404",
      "type": "n8n-nodes-base.if",
      "position": [
        60,
        180
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "81558598-6188-4712-962c-3f80fcba1297",
              "operator": {
                "type": "number",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.error.status }}",
              "rightValue": 404
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9ae25973-ffa0-4b14-943b-d8a9fa0ee3b0",
      "name": "찾을 수 없음",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        280,
        380
      ],
      "parameters": {
        "errorMessage": "=Error requesting website (404)"
      },
      "typeVersion": 1
    },
    {
      "id": "8af2bbee-ebd0-49e2-aa4a-bc58e1ccaf31",
      "name": "심플 스크래퍼",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        -160,
        120
      ],
      "parameters": {
        "url": "={{ $json.url }}",
        "options": {
          "timeout": 10000,
          "redirect": {
            "redirect": {}
          },
          "allowUnauthorizedCerts": true
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 5000
    },
    {
      "id": "f0f8106a-9a8c-492e-8082-fc82a3852765",
      "name": "전체 텍스트",
      "type": "n8n-nodes-base.if",
      "position": [
        1160,
        100
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b32569d1-ba84-401f-9dc9-99b2c804cba2",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('Workflow Call').item.json.fulltext }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "325b73df-6fe0-4c22-985e-0916a09a8865",
      "name": "전체 텍스트 출력",
      "type": "n8n-nodes-base.set",
      "position": [
        1380,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "91a15268-86a9-4390-9e19-9fba4d21aeed",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title.replace(/\\p{Extended_Pictographic}/gu, '') }}"
            },
            {
              "id": "90d16e3d-49ca-4a65-a4ae-cd689de990db",
              "name": "text",
              "type": "string",
              "value": "={{\n( $json.textContent || '' )\n.replace(/\\p{Extended_Pictographic}/gu, '')\n.replace(/[\\r\\n]+/g, ' ')\n.replace(/\\s+/g, ' ')\n.trim()\n}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "32e88e32-0068-47de-8f72-aee167f15ca2",
      "name": "요약 출력",
      "type": "n8n-nodes-base.set",
      "position": [
        1380,
        200
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "91a15268-86a9-4390-9e19-9fba4d21aeed",
              "name": "title",
              "type": "string",
              "value": "={{ $json.title.replace(/\\p{Extended_Pictographic}/gu, '') }}"
            },
            {
              "id": "28476e01-485e-4373-a6c3-b3703d4ba1e4",
              "name": "url",
              "type": "string",
              "value": "={{ $('Workflow Call').item.json.url }}"
            },
            {
              "id": "90d16e3d-49ca-4a65-a4ae-cd689de990db",
              "name": "content",
              "type": "string",
              "value": "={{\n( $json.excerpt || '' )\n.replace(/\\p{Extended_Pictographic}/gu, '')\n.replace(/[\\r\\n]+/g, ' ')\n.replace(/\\s+/g, ' ')\n.trim()\n}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "96438bb1-1918-4ae6-9a40-0624968ca7b3",
      "name": "Is Binary",
      "type": "n8n-nodes-base.if",
      "position": [
        720,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8255ef66-f18d-4f38-a283-592cbd617109",
              "operator": {
                "type": "object",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $binary.data }}",
              "rightValue": ".pdf"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "5bb977be-3e50-4240-a05a-4df23e8f7470",
      "name": "ContentType 오류",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        940,
        -80
      ],
      "parameters": {
        "errorMessage": "=Unsupported content-type"
      },
      "typeVersion": 1
    },
    {
      "id": "7b68057e-9189-4291-a40f-e9941443a65a",
      "name": "워크플로우 호출",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -380,
        120
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "url"
            },
            {
              "name": "fulltext",
              "type": "boolean"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "bbe6563d-1131-4f7e-9a19-0dff16d1adb5",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -100
      ],
      "parameters": {
        "width": 760,
        "height": 640,
        "content": "# WebPage Reader for AI Agents & Workflows\n\nThis sub-workflow enables reliable and clean scraping of any public webpage by simply passing a **url** parameter. It is designed to be embedded into other workflows or used as a tool for AI agents.\n\n🧩 This template requires the [n8n-nodes-webpage-content-extractor](https://www.npmjs.com/package/n8n-nodes-webpage-content-extractor) community node, so it only works in self-hosted n8n environments.\n\n💡 If the site is protected by anti-bot systems (like Cloudflare), it will automatically fallback to [Scrape.do](https://scrape.do/), a scraping API with a generous free plan. You only need to provide your API Token.\n\n## Input Parameters:\n- **url** (string): the webpage URL to scrape\n- **fulltext** (boolean): set true for full page content, false for summarized output\n\n## Output Modes:\n- **fulltext: true** — returns *{ title, text }* with full page content\n- **fulltext: false** — returns *{ title, url, content }* with a short excerpt\n\n## Usage:\nIn your workflows you can invoke this workflow using the **Execute Sub-workflow** or **Call n8n Workflow Tool** nodes.\nRemember to pass the url as a parameter and configure the fulltext option when invoking it.\n\n\n*(See the Setup note for instructions on how to set up this workflow.)*"
      },
      "typeVersion": 1
    },
    {
      "id": "cf3a4e8f-d63f-482d-81eb-746ed7f66c85",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -100
      ],
      "parameters": {
        "width": 680,
        "height": 660,
        "content": "# Setup\nTo set up this workflow you will need to install the [n8n-nodes-webpage-content-extractor](https://www.npmjs.com/package/n8n-nodes-webpage-content-extractor) community node and API Token from your [Scrape.do](https://scrape.do/) account. Then you will just need to configure the `Scrape.do` node here with your credentials.\n\n## Community Node Installation\nBefore importing this workflow you first need to install this node on your n8n.\n- Go to your n8n's settings page. By clicking on the three dots next to your username in the bottom left corner of the screen.\n- In the left side menu click on Community Nodes.\n- Now click on the Install button.\n- In the npm Package Name field enter **n8n-nodes-webpage-content-extractor**, check the box that says *I understand the risks of installing unverified code from a public source*, and then click the Install button.\n\n## `Scrape.do` Node Setup\nBefore configuring the node, create your account on [Scrape.do](https://scrape.do/) and save your API Token\n- Open the Node `Scrape.do` configuration window by double-clicking on it.\n- In the **Authentication** field, select the **Generic Credential Type** option.\n- In the **Generic Credential Type** field below select the **Query Auth** option\n- In the **Query Auth** field below select **Create new credential**. To save your token to a new n8n credential.\n- In the window that opens, in the **Name** field, enter the word **token** only. In the **Value** field, paste your **API Token**. Then click the Save button.\n\n\n\n**Your workflow is ready! You can now use it in your workflows and in your AI Agents!**"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "4HcJPFvOCSd7pZeG",
    "executionOrder": "v1",
    "saveDataSuccessExecution": "none"
  },
  "versionId": "8cc14be0-b5b6-41c3-8838-e92591538965",
  "connections": {
    "7e793496-3ba7-4a30-bb6c-d483c00671c6": {
      "main": [
        [
          {
            "node": "e52eddc5-72a7-4bd8-8679-ecedccad447c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "9ae25973-ffa0-4b14-943b-d8a9fa0ee3b0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f0f8106a-9a8c-492e-8082-fc82a3852765": {
      "main": [
        [
          {
            "node": "325b73df-6fe0-4c22-985e-0916a09a8865",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "32e88e32-0068-47de-8f72-aee167f15ca2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96438bb1-1918-4ae6-9a40-0624968ca7b3": {
      "main": [
        [
          {
            "node": "5bb977be-3e50-4240-a05a-4df23e8f7470",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f449a425-4ae9-462d-91bb-ff0b85a73202",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a90654b8-b83b-41ed-a665-9a0303a84de3": {
      "main": [
        [
          {
            "node": "96438bb1-1918-4ae6-9a40-0624968ca7b3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b68057e-9189-4291-a40f-e9941443a65a": {
      "main": [
        [
          {
            "node": "8af2bbee-ebd0-49e2-aa4a-bc58e1ccaf31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8af2bbee-ebd0-49e2-aa4a-bc58e1ccaf31": {
      "main": [
        [
          {
            "node": "96438bb1-1918-4ae6-9a40-0624968ca7b3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7e793496-3ba7-4a30-bb6c-d483c00671c6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f449a425-4ae9-462d-91bb-ff0b85a73202": {
      "main": [
        [
          {
            "node": "f0f8106a-9a8c-492e-8082-fc82a3852765",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e52eddc5-72a7-4bd8-8679-ecedccad447c": {
      "main": [
        [
          {
            "node": "a90654b8-b83b-41ed-a665-9a0303a84de3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "62c1fb07-35e0-4942-b38d-b888b559e109",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

중급 - 문서 추출

유료인가요?

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

워크플로우 정보
난이도
중급
노드 수15
카테고리1
노드 유형7
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Arthur Braghetto

Arthur Braghetto

@arthurmb

Engineer, Coder, Maker, Curious...

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34