가이드, 튜토리얼 및 인사이트
레지덴셜 프록시, 웹 스크래핑, 데이터 수집 전략 및 업계 모범 사례를 Shifter 팀으로부터 배우세요.
누가 AI 크롤러를 차단하는가? 상위 10,000개 사이트 전반의 GPTBot, ClaudeBot과 그 동료들
상위 10,000개 도메인의 robots.txt를 조사했다. 다섯 사이트 중 하나는 최소 하나의 AI 크롤러를 차단하는 반면, 거의 모든 사이트는 여전히 검색엔진을 환영한다.
오래된 User-Agent의 비용: 브라우저 버전 드리프트 측정하기
스크레이퍼는 브라우저 버전을 하드코딩한 뒤 잊어버리는 경우가 많습니다. 저희는 최대 6.5년 전의 Chrome 버전을 주장하며 397개 상위 사이트에 요청을 보냈습니다. 거부율은 해마다 상승했습니다.
타겟이 차단 가능한가? 안티봇 스택 조회
스크레이퍼를 만들기 전에 타겟을 보호하는 것이 무엇인지 확인하세요. 상위 1,000개 도메인을 조사해 어떤 안티봇 벤더를 사용하는지, 그리고 일반 클라이언트가 어떤 결과를 보였는지 확인했습니다.
멀티 암드 밴딧 문제로 보는 프록시 선택
다음 요청에는 어떤 프록시 구성을 사용해야 할까? 이를 밴딧 문제로 다뤄보자. 시뮬레이션에서 적응형 선택은 완벽한 사후 판단 대비 2% 이내로 근접했다.
멱등성 스크레이퍼 설계: 중복 없이 재시작하기
스크레이퍼는 죽는다. 크롤링 도중 열 번을 강제 종료해봤다: 단순한 버전은 최대 4.3배의 행을 저장했고, 멱등성 버전은 정확히 500개를 저장했다. 후자를 만드는 방법.
스크랩한 데이터의 문자 인코딩: 문자셋 감지와 모지바케 수정
6개국에서 상위 홈페이지 193개를 가져왔습니다. 흔히 쓰이는 Python 기본값이 그중 37개의 텍스트를 깨뜨렸습니다. 브라우저처럼 스크랩한 페이지를 디코딩하는 방법.
원본 응답 보관: 스크랩한 페이지를 재생을 위해 WARC로 아카이빙하기
파서는 개선되고 추출기는 고장나지만, 보관하지 않은 페이지는 다시 파싱할 수 없습니다. 테스트된 코드와 실제 크기로 원본 응답을 WARC에 저장하는 방법.
페이지 뒤의 API 찾기: HTML 대신 JSON 엔드포인트에서 수집하기
많은 페이지가 데이터를 JSON 형태로 로드합니다. 이를 전달하는 엔드포인트를 찾는 방법, 그것이 페이지의 세션과 연결되어 있는 경우가 많은 이유, 그리고 책임감 있게 수집하는 방법을 소개합니다.
발견 소스로서의 사이트맵: 전체 사이트를 크롤링하지 않고 모든 URL 찾기
XML 사이트맵은 사이트의 URL과 때로는 변경된 시점을 나열합니다. 이를 제대로 읽는 방법과 확인 없이 lastmod를 절대 신뢰해서는 안 되는 이유를 설명합니다.