중국 주요 소셜 플랫폼의 공개 데이터를 한 번에 수집하는 도구
특정 키워드로 검색된 게시물과 그 아래 달린 댓글을 자동으로 모으고 싶을 때, 이 도구가 필요한 순간이 옵니다. 브라우저 자동화 기술을 이용해 각 플랫폼에 로그인한 상태를 유지하면서 데이터를 가져오므로, 복잡한 암호화 알고리즘을 직접 풀어야 하는 부담을 덜어줍니다. 수집한 데이터는 다양한 형식으로 저장되어 이후 분석이나 아카이빙에 바로 활용할 수 있습니다.
브라우저를 대신해 로그인하고 데이터를 긁어오는 방식
이 도구의 핵심은 Playwright라는 브라우저 자동화 프레임워크를 사용하는 것입니다. 사용자가 직접 QR 코드를 스캔해 로그인한 뒤, 도구가 그 브라우저 세션을 그대로 이어받아 데이터를 수집합니다. 이렇게 하면 각 플랫폼이 요구하는 복잡한 서명 파라미터를 JavaScript로 직접 생성할 필요가 없어집니다. 또한 Chrome 브라우저의 원격 디버깅 모드(CDP)를 지원하여, 기존에 사용하던 브라우저의 쿠키와 확장 프로그램 상태를 재사용함으로써 플랫폼의 보안 검출 위험을 낮추는 데 도움을 줍니다.
지원하는 플랫폼과 수집 가능한 데이터 범위
현재 이 도구는 샤오홍슈, 더우인, 콰이쇼우, Bilibili, 웨이보, 바이두 티에바, 지후를 지원합니다. 각 플랫폼에서 키워드 검색, 특정 게시물 ID 지정, 2차 댓글 수집, 특정 크리에이터 페이지 수집 기능을 제공합니다. 수집된 데이터는 CSV, JSON, Excel, SQLite, MySQL 등 다양한 형식으로 저장할 수 있으며, 필요에 따라 이미지나 영상 파일도 함께 다운로드할 수 있습니다. 특히 Bilibili의 경우 ffmpeg를 설치하면 최고 화질로 영상을 합쳐서 저장하는 기능도 갖추고 있습니다.
사용을 시작하기 전 준비해야 할 것들
도구를 실행하려면 Python 환경과 Node.js(버전 16 이상)가 설치되어 있어야 합니다. 패키지 관리 도구로는 uv를 권장하며, uv sync 명령으로 의존성을 쉽게 설치할 수 있습니다. 브라우저 드라이버는 표준 Playwright 모드를 사용할 경우에만 별도로 설치해야 하며, CDP 모드를 쓰면 기존 Chrome 브라우저(버전 144 이상)를 설정하는 것만으로 충분합니다. 설정 파일인 config/base_config.py에서 수집할 플랫폼, 로그인 방식, 댓글 수집 여부 등을 직접 수정하여 원하는 대로 조정할 수 있습니다.
법적 책임과 사용 목적에 대한 명확한 경계
README는 이 도구가 학습과 연구 목적으로만 사용되어야 한다고 강력히 경고합니다. 상업적 이용이나 대규모 크롤링, 타인의 합법적 권익을 침해하는 행위는 엄격히 금지되어 있으며, 이로 인한 모든 법적 책임은 사용자에게 있습니다. 개발자는 본 도구의 사용으로 발생할 수 있는 데이터 유실, 장비 손상, 법적 소송 등에 대해 어떠한 책임도 지지 않는다고 명시하고 있습니다. 따라서 이 도구를 사용하기 전에는 반드시 해당 국가의 법률과 각 플랫폼의 이용약관을 확인하고, 개인적인 학습 범위 내에서만 제한적으로 사용하는 것이 안전합니다.