본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 06. 25. 20:09

NanmiCoder/MediaCrawler

요약

샤오홍슈, 도우인 등 주요 중국 미디어 플랫폼의 데이터를 수집할 수 있는 강력한 다중 플랫폼 크롤링 도구입니다. Playwright 기반의 브라우저 자동화를 통해 복잡한 JS 역공학 없이도 효율적인 데이터 수집이 가능합니다.

핵심 포인트

  • Playwright 기반 로그인 상태 유지로 JS 역공학 불필요
  • 다중 플랫폼(샤오홍슈, 도우인, Bilibili 등) 지원
  • 중단 지점 재개 및 IP 프록시 풀 지원
  • AI Agent(Claude Code, Cursor 등)와의 연동 지원
  • 엔터프라이즈급 아키텍처 설계 및 확장성 제공

면책 조항: 본 저장소는 학습 목적으로만 사용해 주시기 바랍니다.

⚠️ ⚠️ ⚠️ ⚠️ , 크롤링(Crawling)은 위법 행위가 될 수 있습니다. 본 저장소의 모든 내용은 학습 및 참고용으로만 제공되며, 상업적 용도로 사용하는 것을 금지합니다. 어떠한 개인이나 조직도 본 저장소의 내용을 불법적인 용도로 사용하거나 타인의 합법적인 권익을 침해해서는 안 됩니다. 본 저장소에 포함된 크롤링 기술은 학습 및 연구 목적으로만 사용되어야 하며, 타 플랫폼에 대한 대규모 크롤링이나 기타 불법 행위에 사용되어서는 안 됩니다. 본 저장소의 내용을 사용함으로써 발생하는 어떠한 법적 책임에 대해서도 본 저장소는 책임을 지지 않습니다. 본 저장소의 내용을 사용하는 것은 귀하가 본 면책 조항의 모든 약관 및 조건에 동의함을 의미합니다.

더 자세한 면책 조항을 보려면 클릭하세요. 클릭하여 이동

샤오홍슈(Xiaohongshu), 도우인(Douyin), 콰이쇼우(Kuaishou), Bilibili(B站), 웨이보(Weibo), 티에바(Tieba), 지후(Zhihu) 등 주요 플랫폼의 공개 정보를 수집할 수 있는 강력한 다중 플랫폼 자매 미디어 데이터 수집 도구입니다.

핵심 기술: Playwright 브라우저 자동화 프레임워크를 기반으로 로그인 상태를 저장하여 JS 역공학(Reverse Engineering) 불필요: 로그인 상태가 유지된 브라우저 컨텍스트 환경을 활용하여 JS 표현식을 통해 서명 파라미터를 획득합니다. 장점 및 특징: 복잡한 암호화 알고리즘을 역공학할 필요가 없어 기술적 진입 장벽을 대폭 낮췄습니다.

플랫폼키워드 검색지정 게시물 ID 크롤링2차 댓글지정 크리에이터 홈로그인 상태 캐시IP 프록시 풀댓글 워드 클라우드 생성
샤오홍슈
...
MediaCrawlerPro 대규모 출시! 오픈 소스 개발이 쉽지 않으니, 구독과 지원 부탁드립니다

성숙한 프로젝트의 아키텍처 설계 학습에 집중합니다. 단순한 크롤링 기술뿐만 아니라, Pro 버전의 코드 설계 방식 또한 깊이 있게 학습할 가치가 있습니다!

MediaCrawlerPro의 오픈 소스 버전 대비 핵심 장점:


  • 자매 미디어 콘텐츠 분해 Agent (신규 기능) - ✅
    중단 지점부터 재개하는 크롤링 기능 (Breakpoint Crawling) (중점 특성) - ✅
    다중 계정 + IP 프록시 풀 지원 (중점 특성) - ✅
    Playwright 의존성 제거, 더 간편한 사용 - ✅
    완전한 Linux 환경 지원


  • 코드 리팩토링 최적화, 가독성 및 유지보수 용이 (JS 서명 로직 디커플링) - ✅
    엔터프라이즈급 코드 품질, 대규모 크롤링 프로젝트 구축에 적합 - ✅
    완벽한 아키텍처 설계, 높은 확장성, 소스 코드 학습 가치 극대화


  • 자매 미디어 비디오 다운로더 데스크톱 버전 (풀스택 개발 학습에 적합) - ✅
    다중 플랫폼 홈 피드 정보 추천 (HomeFeed) - ✅
    AI Agent Skill 지원 (OpenClaw 🦞 / Claude Code / Cursor 원클릭 설치로 Agent가 자동으로 데이터를 크롤링하도록 설정) - ✅
    댓글 분석 기반 AI Agent 개발 중 🚀🚀

클릭하여 확인: MediaCrawlerPro 프로젝트 홈페이지 더 많은 소개

💡

이 프로젝트가 도움이 되었다면, ⭐ Star를 눌러 지원해 주세요!

다음 단계를 진행하기 전에 컴퓨터에 uv가 설치되어 있는지 확인하십시오:

설치 주소: uv 공식 설치 가이드
설치 확인: 터미널에 uv --version 명령어를 입력하세요.

정상적으로 버전 번호가 표시되면 설치가 성공한 것입니다. 추천 이유: uv는 현재 가장 강력한 Python 패키지 관리 도구로, 속도가 빠르고 의존성 해석이 정확합니다.

프로젝트는 Node.js에 의존하므로, 공식 웹사이트에서 다운로드하여 설치하십시오:

다운로드 주소: https://nodejs.org/en/download/
버전 요구사항: >= 16.0.0

# 프로젝트 디렉토리로 이동
cd MediaCrawler
# uv sync 명령어를 사용하여 python 버전과 관련 의존성 패키지의 일관성을 보장합니다
...

기본 CDP 모드(기존 Chrome 브라우저 연결)를 사용하는 경우,

브라우저 드라이버를 설치할 필요가 없습니다. 표준 Playwright 모드를 사용할 때만 설치가 필요합니다.

# 표준 Playwright 모드에서만 브라우저 드라이버 설치가 필요합니다
uv run playwright install

프로젝트는 기본적으로 CDP 모드를 사용하여 사용자의 기존 Chrome 브라우저에 연결하며, 브라우저의 기존 로그인 상태, Cookie, 확장 프로그램 등을 재사용할 수 있어 플랫폼의 리스크 관리(Risk Control) 탐지 위험을 대폭 낮춥니다.

사용 전 필요한 사항:

최신 버전의 Chrome 브라우저 설치 (버전 >= 144), 다운로드 주소
원격 디버깅 기능 활성화: Chrome 주소창에 chrome://inspect/#remote-debugging을 입력하고, **"Allow remote debugging for this browser instance"**를 체크합니다. 페이지에
Server running at: 127.0.0.1:9222가 표시되면 준비가 된 것입니다.

💡

팁: 크롤러를 실행하면 Chrome 브라우저에 확인 대화 상자가 나타납니다. "수락(Accept)"을 클릭하면 됩니다. 프로그램은 사용자의 확인을 기다리며, 60초 이내에 작업을 완료해야 합니다. CDP 모드를 사용하고 싶지 않다면,

config/base_config.py

에서 ENABLE_CDP_MODE = False로 설정할 수 있습니다.

표준 Playwright 모드로 전환합니다.

# config/base_config.py에서 설정 항목 기능을 확인하세요. 중국어 주석이 작성되어 있습니다.
# 설정 파일에서 키워드 검색 관련 게시물을 읽어와 게시물 정보와 댓글을 크롤링합니다.
uv run main.py --platform xhs --lt qrcode --type search
...

🖥️ WebUI 시각화 조작 인터페이스

MediaCrawler는 웹 기반의 시각화 조작 인터페이스를 제공하여, 명령줄(CLI) 없이도 크롤러 기능을 쉽게 사용할 수 있습니다.

# API 서버 시작 (기본 포트 8080)
uv run uvicorn api.main:app --port 8080 --reload
# 또는 모듈 방식으로 시작
...

시작에 성공하면, http://localhost:8080에 접속하여

WebUI 인터페이스를 열 수 있습니다.

  • 크롤러 파라미터 시각적 설정 (플랫폼, 로그인 방식, 크롤링 유형 등)
  • 크롤러 실행 상태 및 로그 실시간 확인
  • 데이터 미리보기 및 내보내기

WebUI 界面预览

🔗 Python 네이티브 venv를 사용한 환경 관리 (권장하지 않음)

Douyin(抖音)과 Zhihu(知乎)를 크롤링하는 경우, Node.js 환경을 미리 설치해야 하며 버전은 다음과 같아야 합니다:

16

이상

# 프로젝트 루트 디렉토리로 이동
cd MediaCrawler
# 가상 환경 생성
...

pip install -r requirements.txt

playwright install

# 프로젝트는 기본적으로 댓글 크롤링 모드가 활성화되어 있지 않습니다. 댓글이 필요한 경우 config/base_config.py의 ENABLE_GET_COMMENTS 변수를 수정하세요.
# 기타 지원 항목들도 config/base_config.py에서 기능을 확인할 수 있으며, 중국어 주석이 작성되어 있습니다.
# 설정 파일에서 키워드 검색 관련 게시물을 읽어와 게시물 정보와 댓글을 크롤링합니다.
...

MediaCrawler는 CSV, JSON, JSONL, Excel, SQLite 및 MySQL 데이터베이스를 포함한 다양한 데이터 저장 방식을 지원합니다.

📖 상세 사용 설명은 다음을 참조하세요: 데이터 저장 가이드

TikHub.io는 TK, DY, XHS, Y2B, Ins, X 등 14개 이상의 국내외 주요 플랫폼을 아우르는 900개 이상의 고가용성 데이터 인터페이스를 제공합니다. 사용자, 콘텐츠, 상품, 댓글 등 다차원 공개 데이터 API를 지원하며, 4,000만 개 이상의 정제된 구조화 데이터 세트가 함께 제공됩니다. 초대 코드

cfzyejV9

를 사용하여 등록 및 충전 시, $2의 추가 증정 크레딧을 받을 수 있습니다.

Atlas Cloud

Atlas Cloud

Atlas Cloud는 개발자가 통합 AI API를 통해 비디오 생성, 이미지 생성 및 LLM API에 액세스할 수 있게 해주는 풀 모달(Full-modal) AI 추론 플랫폼입니다. 여러 업체의 통합을 개별적으로 유지 관리할 필요 없이 300개 이상의 엄선된 모델을 호출할 수 있습니다. Atlas Cloud는 최근 개발자에게 더욱 가성비 좋은 API 액세스 예산을 제공하기 위해 coding plan 프로모션을 출시했습니다.

후원자가 되어 귀하의 제품을 이곳에 전시하고 매일 많은 노출을 확보하세요!

연락처:

  • WeChat:
    relakkes

  • 이메일:
    relakkes@gmail.com

이 프로젝트가 도움이 되었다면 후원을 통해 지원해 주세요. 여러분의 모든 지원은 제가 지속적으로 업데이트할 수 있는 원동력이 됩니다 ❤️

WeChat 후원
|
Alipay
|
Buy Me a Coffee
|

자주 묻는 질문: MediaCrawler 전체 문서
크롤러 입문 튜토리얼: CrawlerTutorial 무료 튜토리얼
뉴스 크롤러 오픈소스 프로젝트: NewsCrawlerCollection

이 프로젝트가 도움이 되었다면 ⭐ Star를 눌러 지원해 주세요. 더 많은 사람들이 MediaCrawler를 볼 수 있도록 도와주세요!

샤오홍슈(Xiaohongshu) 서명 저장소: Cloxl의 xhs 서명 저장소
샤오홍슈 클라이언트: ReaJason의 xhs 저장소
문자 전달: SmsForwarder 참고 저장소
내부망 관통 도구: ngrok 공식 문서

본 프로젝트(이하 "본 프로젝트")는 기술 연구 및 학습 도구로서 생성되었으며, 네트워크 데이터 수집 기술을 탐구하고 학습하는 것을 목적으로 합니다. 본 프로젝트는 자매 미디어 플랫폼의 데이터 크롤링 기술 연구에 집중하며, 학습자와 연구자들에게 기술 교류용으로 제공하는 것을 목표로 합니다.

본 프로젝트 개발자(이하 "개발자")는 사용자가 본 프로젝트를 다운로드, 설치 및 사용할 때 《중화인민공화국 네트워크 안전법》, 《중화인민공화국 반간첩법》 등 모든 적용 가능한 국가 법률 및 정책을 포함하되 이에 국한되지 않는 중화인민공화국 관련 법규를 엄격히 준수할 것을 사용자에게 엄중히 고지합니다. 사용자는 본 프로젝트의 사용으로 인해 발생할 수 있는 모든 법적 책임에 대해 스스로 책임을 져야 합니다.

본 프로젝트는 어떠한 불법적인 목적이나 학습 및 연구 이외의 상업적 행위에 사용하는 것을 엄격히 금지합니다. 본 프로젝트는 타인의 컴퓨터 시스템에 대한 어떠한 형태의 불법 침입에도 사용될 수 없으며, 타인의 지식재산권(Intellectual Property) 또는 기타 합법적인 권익을 침해하는 행위에도 사용될 수 없습니다. 사용자는 본 프로젝트의 사용 목적이 순수하게 개인적인 학습 및 기술 연구임을 보장해야 하며, 어떠한 형태의 불법 활동에도 사용해서는 안 됩니다.

개발자는 본 프로젝트의 정당성과 안전성을 확보하기 위해 최선의 노력을 다하였으나, 사용자가 본 프로젝트를 사용함으로써 발생할 수 있는 어떠한 형태의 직접적 또는 간접적 손실에 대해서도 책임을 지지 않습니다. 이는 본 프로젝트의 사용으로 인해 발생하는 데이터 손실, 장비 손상, 법적 소송 등을 포함하되 이에 국한되지 않습니다.

본 프로젝트의 지식재산권은 개발자에게 귀속됩니다. 본 프로젝트는 저작권법, 국제 저작권 조약 및 기타 지식재산권 관련 법률과 조약의 보호를 받습니다. 사용자는 본 성명서 및 관련 법규를 준수한다는 전제하에 본 프로젝트를 다운로드하고 사용할 수 있습니다.

본 프로젝트에 대한 최종 해석권은 개발자에게 있습니다. 개발자는 별도의 통지 없이 언제든지 본 면책 조항(Disclaimer)을 변경하거나 업데이트할 권리를 보유합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0