기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
웹 크롤러
웹 크롤러는 관리형 지식 기반에서 사용하도록 지정한 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거나 제한보다 큰 파일은 수집되지 않도록 허용합니다. |