피드로 돌아가기
Dev.toBackend
원문 읽기
정부 소스 직접 파싱으로 QuiverQuant 대비 비용 90% 절감 및 데이터 정밀도 확보
I built two Apify actors that scrape U.S. Congress trading data — directly from government sources, no QuiverQuant
AI 요약
Context
기존 QuiverQuant API의 불안정한 응답 형태와 간헐적 500 에러, 고가 요금제 기반의 상세 데이터 접근 제한으로 인한 병목 발생. 공공 도메인 데이터를 효율적으로 수집하기 위해 정부 공식 소스를 직접 타겟팅하는 맞춤형 데이터 파이프라인 설계 필요.
Technical Solution
- Akamai Bot Protection 우회 및 세션 유지를 위해 Residential Proxy 기반의 Single Exit IP 고정 전략 채택
- Django의 CSRF 게이트 및 세션 쿠키 유실 방지를 위해 Axios의 자동 리다이렉트를 비활성화하고 Redirect Chain을 수동으로 추적하는 인터셉터 구현
- 비정형 PDF 텍스트의 무작위 추출 순서 및 Null Byte 노이즈 제거를 위해 .replace() 정규화 후 Marker-anchored Parser 기반의 행 단위 데이터 추출 로직 적용
- 서로 다른 소스(Senate/House)의 데이터를 통합하기 위해 Natural Key 기반의 SHA-256 해싱을 통한 Idempotent Sync 구조 설계
- House 데이터의 경우 ZIP 다운로드 후 XML 인덱스를 통해 필터링된 PDF만 선택적으로 fetch 하는 효율적 워크플로우 구성
실천 포인트
- Bot Detection 대응 시 Datacenter IP 대신 Residential Proxy 사용 및 Session-IP 매핑 여부 확인 - PDF 텍스트 추출 시 Glyph Reference로 인한 Null Byte 포함 가능성을 고려한 전처리 단계 추가 - 외부 데이터 동기화 시 UUID 대신 Natural Key 기반의 결정론적 해싱(SHA-256)으로 중복 제거 구현 - 리다이렉션 과정에서 Set-Cookie 헤더가 유실되는 라이브러리 특성을 파악하고 수동 쿠키 관리 로직 검토