기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
윤리적 웹 크롤러 모범 사례
이 섹션에서는 환경, 사회 및 거버넌스(ESG) 데이터를 수집하는 웹 크롤링 애플리케이션을 구축하기 위한 모범 사례와 주요 윤리적 고려 사항에 대해 설명합니다. 이러한 모범 사례를 준수하면 프로젝트와 조직을 보호하고 보다 책임감 있고 지속 가능한 웹 에코시스템에 기여할 수 있습니다. 이 접근 방식은 모든 이해관계자를 존중하는 방식으로 중요한 데이터에 액세스하고 이를 연구, 비즈니스 및 혁신에 사용하는 데 도움이 됩니다.
Robots.txt 규정 준수
robots.txt 파일은 웹 사이트에서 웹 크롤러 및 봇과 통신하는 데 사용되며 웹 사이트의 어떤 부분에 액세스하거나 크롤링해서는 안 되는지에 대해 설명합니다. 웹 크롤러가 웹 사이트에서 robots.txt 파일을 발견하면 지침을 구문 분석하고 그에 따라 크롤링 동작을 조정합니다. 이렇게 하면 크롤러가 웹 사이트 소유자의 지침을 위반하지 않고 웹 사이트와 크롤러 간의 협력 관계를 유지할 수 있습니다. 따라서 robots.txt 파일은 액세스 제어, 민감한 콘텐츠 보호, 로드 관리 및 법률 준수에 도움이 됩니다.
다음 모범 사례를 따르는 것이 좋습니다.
-
항상 robots.txt 파일의 규칙을 확인하고 준수합니다.
-
URL을 크롤링하기 전에 데스크톱 및 모바일 사용자 에이전트 모두에 대한 규칙을 확인하세요.
-
웹 사이트에서 모바일 사용자 에이전트만 허용하는 경우 요청에 모바일 에이전트 헤더와 같은 다른 에이전트 헤더를 사용합니다.
robots.txt 파일이 없다고 해서 반드시 웹 사이트를 크롤링할 수 없거나 크롤링해서는 안 된다는 의미는 아닙니다. 크롤링은 항상 웹 사이트의 리소스와 소유자의 암시적 권리를 존중하여 책임감 있게 수행해야 합니다. 다음은 robots.txt가 없는 경우 권장되는 모범 사례입니다.
-
크롤링이 허용되지만 주의해서 진행합니다.
-
정중한 크롤링 관행을 구현합니다.
-
광범위한 크롤링을 수행할 계획이라면 웹 사이트 소유자에게 문의하여 권한을 얻는 것이 좋습니다.
크롤링 속도 제한
서버에 부담을 주지 않도록 적절한 크롤링 속도를 사용합니다. robots.txt 파일에 지정된 대로 또는 무작위 지연을 사용하여 요청 간 지연을 구현합니다. 중소 규모의 웹 사이트의 경우 10~15초마다 1개의 요청이 적합할 수 있습니다. 대규모 웹 사이트 또는 명시적 크롤링 권한이 있는 웹 사이트의 경우 초당 1~2개의 요청이 적합할 수 있습니다.
사용자-에이전트 투명성
사용자 에이전트 헤더에서 크롤러를 식별합니다. 이 HTTP 헤더 정보는 콘텐츠를 요청하는 디바이스를 식별하기 위한 것입니다. 일반적으로 봇이라는 단어는 에이전트의 이름에 포함됩니다. 크롤러 및 기타 봇은 때때로 헤더에 중요한 필드를 사용하여 연락처 정보를 포함합니다.
효율적인 크롤링
웹 사이트 소유자가 개발한 사이트맵을 사용하여 중요한 페이지에 집중합니다.
적응형 접근 방식
데스크톱 버전이 실패할 경우 모바일 사용자 에이전트로 전환하도록 크롤러를 프로그래밍합니다. 이렇게 하면 크롤러 액세스 권한을 제공하고 웹 사이트 서버의 부담을 줄일 수 있습니다.
오류 처리
크롤러가 다양한 HTTP 상태 코드를 적절하게 처리하는지 확인합니다. 예를 들어 429 상태 코드("요청이 너무 많음")가 발생하면 크롤러를 일시 중지해야 합니다. 크롤러가 지속적으로 403개의 상태 코드("금지")를 수신하면 크롤링 중지를 고려합니다.
배치로 크롤링
다음을 수행하는 것이 좋습니다.
-
모든 URLs 번에 크롤링하는 대신 작업을 더 작은 배치로 나눕니다. 이렇게 하면 부하를 분산하고 제한 시간 또는 리소스 제약과 같은 문제가 발생할 위험을 줄일 수 있습니다.
-
전체 크롤링 작업이 오래 실행될 것으로 예상되는 경우 더 작고 관리 가능한 여러 작업으로 나누는 것이 좋습니다. 이렇게 하면 프로세스의 확장성과 복원력이 향상될 수 있습니다.
-
크롤링할 URLs 수가 비교적 적은 경우와 같은 서버리스 솔루션을 사용하는 것이 좋습니다 AWS Lambda. Lambda 함수는 리소스 관리를 자동으로 확장하고 처리하기 때문에 수명이 짧은 이벤트 기반 작업에 적합할 수 있습니다.
보안
웹 크롤링 컴퓨팅 작업의 경우 아웃바운드 트래픽만 허용하도록 환경을 구성하는 것이 좋습니다. 이를 통해 공격 표면을 최소화하고 무단 인바운드 액세스 위험을 줄여 보안을 강화할 수 있습니다. 아웃바운드 연결만 허용하면 크롤링 프로세스가 대상 웹 사이트와 통신하고 필요한 데이터를 검색할 수 있으며 잠재적으로 시스템을 손상시킬 수 있는 인바운드 트래픽을 제한할 수 있습니다.
기타 고려 사항
다음과 같은 추가 고려 사항 및 모범 사례를 검토합니다.
-
웹 사이트의 서비스 약관 또는 개인 정보 보호 정책에서 크롤링 지침을 확인하세요.
-
HTML에서 크롤링 명령을 제공할 수 있는
meta태그를 찾습니다. -
데이터 수집 및 사용과 관련된 관할 구역의 법적 제한에 유의하세요.
-
웹 사이트 소유자가 요청할 경우 크롤링을 중지할 준비를 합니다.