피드로 돌아가기
Dev.toBackend
원문 읽기
웹 스크래핑 없는 CSV 파이프라인 구축으로 60초 내 2.2만 개 학교 데이터 API화
How I built an Ofsted school data API on Apify (without scraping a single webpage)
AI 요약
Context
웹 페이지 기반의 복잡한 HTML 파싱 대신 정부 제공 CSV 파일을 활용한 효율적인 데이터 접근 체계 필요. 빈번한 URL 변경과 데이터 스키마의 급격한 변화라는 제약 상황 존재.
Technical Solution
- 정규표현식을 통한 최신 CSV 파일 URL의 동적 식별 및 자동 Fetch 로직 설계
- Crawlee나 브라우저 엔진을 배제한 fetch()와 csv-parse 기반의 경량 파이프라인 구축
- 6개 등급 영역으로 분리된 신규 리포트 카드 형식의 데이터 스키마 수용을 위한 유연한 매핑 전략 채택
[key: string]: string인덱스 타입을 통한 향후 컬럼 추가에 대비한 Forward-compatible 스키마 설계- 사용자 정의 필터링 로직을 파싱 단계에 결합하여 Apify Dataset으로의 데이터 전송 효율 최적화
Impact
- 실행 시간 60초 미만 달성
- 22,000개 이상의 학교 데이터 처리 가능
- 실행 당 $1.00 및 학교당 $0.05의 정밀한 비용 구조 확립
Key Takeaway
불필요한 브라우저 렌더링과 Anti-bot 대응 비용을 제거하기 위해 원천 데이터 소스의 형식을 우선 분석하는 데이터 중심 설계의 중요성.
실천 포인트
1. 웹 스크래핑 전 공개 API나 정형 파일(CSV, JSON) 다운로드 경로 존재 여부를 우선 확인하십시오.
2. 외부 데이터 스키마 변경에 대응하기 위해 엄격한 타입 정의보다 유연한 인덱스 시그니처 타입을 검토하십시오.
3. URL의 해시값이 변경되는 경우 정규표현식을 활용한 패턴 매칭으로 동적 엔드포인트를 확보하십시오.