피드로 돌아가기
Dev.toBackend
원문 읽기
HTTP API 기반 Bilibili 스크래핑으로 인프라 비용 최소화 및 데이터 확보
The easiest Chinese platform to scrape in Python in 2026: Bilibili in under 30 lines
AI 요약
Context
중국 플랫폼(RedNote, Weibo)의 월 단위 Request Signing 교체와 TLS Fingerprinting 등 강력한 Anti-bot 정책으로 인한 수집 난이도 증가. 브라우저 임퍼소네이션 및 Residential Proxy 도입에 따른 운영 비용 상승이 주요 병목 지점으로 작용.
Technical Solution
- 별도의 Auth 및 Proxy 없이 접근 가능한 Bilibili의 내부 JSON Endpoint를 활용한 Pure HTTP 수집 구조 설계
httpx라이브러리를 통한 경량 요청 처리로 256MB RAM 환경에서도 동작하는 저사양 리소스 아키텍처 구현- WBI Signing Scheme이 필요한 Search API 외의 Metadata, Popular Feed API를 직접 호출하여 역공학 비용 절감
- Danmaku, Coin, Favorite 등 YouTube API 대비 세분화된 Engagement Metric 수집을 통한 정밀한 데이터 분석 체계 구축
- Datacenter IP 기반의 Comment API Throttling 제약을 식별하여 수집 대상별 IP 전략 차별화
Impact
- 30라인 미만의 코드로 구현 가능한 단순한 구조를 통해 개발 공수 대폭 절감
- 단일 Datacenter IP 기준 초당 1~2회(1-2 RPS)의 안정적인 요청 처리 속도 확보
- 256MB RAM 수준의 최소 컴퓨팅 자원으로 프로덕션 환경 운영 가능
Key Takeaway
플랫폼마다 상이한 Anti-bot 수준을 분석하여 Request Signing, TLS Fingerprinting 유무에 따른 최적의 수집 프로토콜(Pure HTTP vs Browser Automation)을 선택하는 전략적 접근의 중요성
실천 포인트
- 대상 플랫폼의 API Endpoint가 Public 접근을 허용하는지 우선 검증 - TLS Fingerprinting 여부를 확인하여 `curl_cffi` 등 특수 라이브러리 도입 필요성 판단 - Datacenter IP와 Residential IP의 Throttling 임계치 차이를 분석하여 API별 IP 풀 할당 - 단순 View count 외에 플랫폼 특유의 Engagement Metric(Coin, Danmaku 등)을 통한 데이터 품질 고도화