기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
웹 크롤러
웹 크롤러는 관리형 지식 기반에서 사용하도록 지정한 URLs에 연결하고 크롤링합니다. 웹 크롤러는 크롤링 범위 및 제한에 따라 하위 링크에 따라 시드 URLs에서 시작하여 HTML 페이지를 통과합니다. 사이트맵 URLs 시작점으로 제공할 수도 있습니다. 웹 크롤러는 RFC 9309
중요
크롤링할 웹 사이트를 선택할 때는 Amazon 사용 정책
참고
웹 크롤러는 문서 수준 액세스 제어(ACLs 지원하지 않습니다. 인덱싱된 모든 콘텐츠는 지식 기반에 액세스할 수 있는 모든 사용자가 액세스할 수 있습니다. ACL 필터링이 필요한 경우 이를 지원하는 커넥터(예: Amazon S3, SharePoint 또는 OneDrive)를 사용합니다.
지원되는 기능
-
여러 URLs 및 사이트맵 URLs 크롤링
-
구성 가능한 크롤링 깊이, 속도 제한 및 links-per-URL 제한
-
크롤링 범위 제어: 동일한 호스트 및 경로, 호스트 전용 또는 호스트 및 하위 도메인
-
URL 패턴 필터(포함 및 제외 정규식)
-
웹 페이지에서 연결된 첨부 파일 크롤링(PDFs, 문서 등)
-
보호된 사이트에 대한 인증: 기본, 양식 기반 또는 SAML
-
추가, 업데이트 및 삭제된 콘텐츠에 대한 증분 콘텐츠 동기화
인증 방법
웹 크롤러는 네 가지 인증 방법을 지원합니다. 대상 사이트가 사용자를 인증하는 방법과 일치하는 메서드를 선택합니다. 로그인이 없는 퍼블릭 사이트의 경우를 사용합니다NO_AUTH.
| 방법 | 인증 방법 | 사용해야 하는 경우 |
|---|---|---|
인증 없음(NO_AUTH) |
크롤러는 자격 증명 없이 요청을 보냅니다. | 로그인이 필요하지 않은 퍼블릭 웹 사이트입니다. |
기본 인증(BASIC_AUTH) |
크롤러는 보안 암호의 사용자 이름과 암호가 포함된 HTTP Authorization: Basic 헤더를 전송합니다. |
HTTP 기본 인증으로 보호되는 사이트(브라우저 스타일 사용자 이름 및 암호 대화 상자). |
양식 인증(FORM) |
크롤러는 HTML 양식을 제출하여 로그인합니다. 양식 필드를 찾는 로그인 URL, 자격 증명 및 XPath 표현식을 제공합니다. | 로그인에 HTML 양식을 사용하는 사이트. |
SAML 인증(SAML) |
크롤러는 SAML 자격 증명 공급자의 로그인 양식을 통해 로그인합니다. 양식 필드를 찾는 IdP 로그인 URL, 자격 증명 및 XPath 표현식을 제공합니다. | SAML 기반 Single Sign-On을 사용하는 사이트입니다. |
사전 조건
크롤링하려는 웹 사이트의 경우 다음을 확인합니다.
-
웹 사이트와 해당 콘텐츠를 크롤링할 수 있는 권한이 있어야 합니다.
-
사이트에
robots.txt대해 크롤링하려는 URLs 허용하지 않는지 확인합니다.robots.txt파일을 찾을 수 없는 경우 웹 크롤러는 기본적으로 허용되지 않습니다. -
사이트에 로그인이 필요한 경우 인증 방법(기본, 양식 또는 SAML)을 식별합니다. 양식 및 SAML의 경우 로그인 페이지에서 사용자 이름 필드, 암호 필드 및 제출 버튼의 XPath 표현식을 찾습니다. XPath를 찾으려면 브라우저에서 양식 요소의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 검사를 선택한 다음 개발자 도구에서 XPath를 복사합니다.
AWS 계정에서 다음을 확인합니다.
-
사이트에 인증이 필요한 경우 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장하고 Amazon 리소스 이름(ARN)을 기록해 둡니다. 정확한 키-값 페어는 단원을 참조하십시오인증 자격 증명.
-
지식 기반에 대한 AWS Identity and Access Management (IAM) 역할/권한 정책에 데이터 소스에 연결하는 데 필요한 권한을 포함합니다. 필요한 권한에 대한 자세한 내용은 섹션을 참조하세요데이터 소스에 액세스할 수 있는 권한.
웹 크롤러 데이터 소스를 설정하는 방법
웹 크롤러 데이터 소스 설정에는 다음 단계가 포함됩니다.
데이터 소스 생성
커넥터 파라미터
데이터 소스 구성은 다음 커넥터 파라미터를 사용합니다. 웹 크롤러를 사용하려면에서 커넥터 유형WEB으로를 지정합니다connectorParameters. 래핑되는 필드connectorParameters(예: deletionProtectionConfiguration 및 mediaExtractionConfiguration)는 섹션을 참조하세요데이터 소스 연결.
| Field | 필수 | 설명 |
|---|---|---|
seedUrls |
조건부 | 크롤링을 시작할 시드 URLs. 최대 10개 를 제공하지 않는 한 필수입니다siteMapUrls. |
siteMapUrls |
조건부 | 사이트맵 URLs. 최대 3. 를 제공하지 않는 한 필수입니다seedUrls. |
authType |
예 | 인증 유형: NO_AUTH, BASIC_AUTHFORM, 또는 SAML. 인증 방법을(를) 참조하세요. |
secretArn |
조건부 | 자격 증명이 포함된 AWS Secrets Manager 보안 암호의 ARN입니다. 이 authType가 아닌 경우 필요합니다NO_AUTH. |
| Field | 필수 | 설명 |
|---|---|---|
crawlDepth |
아니요 | 최대 크롤링 깊이입니다. 범위 0~10.는 지정된 URLs만 0크롤링합니다. 값이 높을수록 사이트 심층 링크를 따릅니다. 기본값은 2입니다. |
maxLinksPerUrl |
아니요 | URL당 따라야 할 최대 링크 수입니다. 범위는 1~1000입니다. 기본값은 100입니다. |
maxCrawledUrlsPerMinute |
아니요 | 분당 최대 URLs크롤링(속도 제한). 범위는 1~300입니다. |
implicitWaitInSeconds |
아니요 | 크롤러가 페이지를 읽기 전에 페이지가 준비 상태에 도달한 후 초 단위의 대기 시간입니다. 기본 템플릿 뒤에 로드되는 동적 JavaScript 콘텐츠가 있는 페이지의 경우이 값을 늘립니다. |
syncScope |
아니요 | 따라야 할 링크의 범위입니다. PATH_SPECIFIC (시드 URL과 동일한 호스트 및 동일한 초기 URL 경로), DOMAINS_ONLY (시드 URL과 동일한 호스트, 모든 경로) 또는 SUB_DOMAINS (하위 도메인을 포함한 동일한 기본 도메인). 생략하면 크롤러는 시드 URL과 동일한 호스트 및 동일한 초기 URL 경로만 크롤링합니다. |
crawlAttachments |
아니요 | 웹 페이지에서 연결된 파일 및 첨부 파일(예: PDFs 및 기타 문서)을 크롤링할지 여부입니다. |
| Field | 필수 | 설명 |
|---|---|---|
inclusionPatterns |
아니요 | 정규식 목록입니다. 하나 이상의 패턴과 일치하는 URLs만 크롤링되고 인덱싱됩니다. |
exclusionPatterns |
아니요 | 정규식 목록입니다. 패턴과 일치하는 URLs은 크롤링되거나 인덱싱되지 않습니다. |
maxFileSizeInMegaBytes |
아니요 | 크롤러가 수집하는 단일 파일의 최대 크기입니다. 를 숫자 문자열로 입력합니다(예: "500"). 기본값은 "500"입니다. |
인증 자격 증명
웹 사이트에 인증이 AWS Secrets Manager 필요한 경우 보안 인증 정보를 보안 암호에 저장합니다. 보안 암호 형식은 선택한 인증 유형에 따라 다릅니다.
기본 인증(BASIC_AUTH)
{ "userName": "your-username", "password": "your-password", "authentication": "BASIC_AUTH" }
양식 인증(FORM)
양식 기반 인증의 경우 로그인 페이지에서 사용자 이름 필드, 암호 필드 및 제출 버튼을 식별하는 XPath 표현식을 제공합니다.
{ "authentication": "FORM", "loginPageUrl": "https://example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }
SAML 인증(SAML)
SAML 인증의 경우 양식 필드에 SAML 자격 증명 공급자의 로그인 페이지 URL 및 XPath 표현식을 제공합니다.
{ "authentication": "SAML", "loginPageUrl": "https://your-idp.example.com/login", "userName": "your-username", "password": "your-password", "userNameFieldXpath": "//input[@name='username']", "passwordFieldXpath": "//input[@name='password']", "userNameButtonXpath": "//button[@type='submit']", "passwordButtonXpath": "//button[@type='submit']" }
참고
브라우저에서 XPath를 찾으려면 로그인 페이지에서 양식 요소의 컨텍스트(마우스 오른쪽 버튼 클릭) 메뉴를 열고 검사를 선택합니다. 개발자 도구에서 강조 표시된 HTML의 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 열고 복사를 선택한 다음 XPath 복사를 선택합니다.
문제 해결
| 증상 | 가능한 원인 | 수정 |
|---|---|---|
| 동기화는 성공적으로 완료되지만 시드 URL만 인덱싱됩니다. | 사이트 탐색 링크는 표준 <a href="..."> 요소 대신 JavaScript 이벤트 핸들러(클릭, 스크롤, 동적 메뉴)를 통해 연결됩니다. 크롤러는 JavaScript를 렌더링하지만 사용자 상호 작용을 시뮬레이션하지 않으므로 해당 링크를 검색할 수 없습니다. |
크롤링하려는 페이지에 대한 추가 URLs을 제공하거나 크롤링할 모든 URL을 나열하는 사이트맵 URL을 제공합니다. 콘텐츠를 파일로 내보낼 수 있는 경우 대신 Amazon S3 커넥터를 사용하는 것이 좋습니다. |
| 동기화는 콘텐츠를 반환하지 않거나 예상보다 적은 페이지를 반환합니다. | 사이트의 robots.txt 파일은 크롤링하려는 URLs을 허용하지 않거나 페이지에 noindex메타 태그가 있습니다. |
크롤링하려는 경로를 허용하도록 호스트robots.txt를 업데이트하거나 인덱싱하려는 페이지에서 noindex메타 태그를 제거합니다. 메타 태그를 읽으려면 크롤러가 페이지에 액세스해야 하므로 메타 태그 감지도 원하는 robots.txt 경우에서 페이지를 차단하지 마십시오. |
| 인증 실패(HTTP 401 또는 403, 로그인 리디렉션 루프 또는 세션 제한 시간). | 자격 증명이 잘못되었거나 만료되었거나 XPath 표현식이 로그인 페이지 요소와 일치하지 않습니다. | 보안 암호의 자격 증명을 확인합니다. FORM 또는 SAML 인증의 경우 브라우저의 개발자 도구에서 각 XPath를 검증하고를 확인합니다loginPageUrl. |
| 속도 제한(HTTP 429) 또는 불완전한 콘텐츠와 함께 동기화가 실패합니다. | 크롤러가 사이트에서 허용하는 것보다 빠르게 페이지를 가져오고 있습니다. | 페이지가 준비된 후 로드되는 동적 콘텐츠가 있는 사이트의 implicitWaitInSeconds 경우를 낮추maxCrawledUrlsPerMinute거나를 늘립니다. |
| 페이지가 예상보다 크기 때문에 누락되었습니다. | 페이지 또는 첨부 파일이를 초과합니다maxFileSizeInMegaBytes. |
를 늘리maxFileSizeInMegaBytes거나 제한보다 큰 파일은 수집되지 않도록 허용합니다. |