MediaCrawler란?
데이터 중심의 시대에 소셜 미디어 플랫폼에는 방대한 사용자 인사이트, 콘텐츠 트렌드, 여론 정보가 축적되어 있습니다. 그러나 이러한 데이터를 수동으로 수집하는 것은 비효율적이며 지속 가능하지 않습니다. MediaCrawler는 이러한 문제를 해결하기 위해 탄생한 오픈소스 프로젝트입니다. 개발자 NanmiCoder가 유지관리하는 강력한 멀티 플랫폼 자체 미디어 데이터 수집 도구로, GitHub에서 수만 개의 Star를 획득했으며, 현재 가장 포괄적인 중국어 소셜 미디어 크롤러 프레임워크입니다.
MediaCrawler의 핵심 가치는 하나의 도구로 7대 주요 플랫폼을 커버하여 각 플랫폼마다 개별적으로 크롤러를 개발할 필요가 없다는 점입니다. Python 비동기 아키텍처를 기반으로 하며, Playwright 브라우저 자동화를 통해 로그인 상태를 처리하고, 유지되는 Cookie 환경을 통해 플랫폼 API를 호출하여 서명 파라미터를 획득합니다. 복잡한 암호화 알고리즘의 리버스 엔지니어링이 전혀 필요하지 않아 기술적 진입 장벽을 대폭 낮춥니다.
프로젝트 주소: github.com/NanmiCoder/MediaCrawler
적용 시나리오
- 여론 분석: 각 플랫폼에서의 브랜드 평판과 사용자 피드백 모니터링
- 콘텐츠 트렌드 연구: 인기 토픽, 바이럴 콘텐츠의 공통 특성 추적
- 경쟁 분석: 경쟁 계정의 게시 빈도, 상호작용 데이터 수집
- 학술 연구: 소셜 미디어 전파 패턴, 사용자 행동 분석
- 데이터 시각화: 수집한 데이터로 워드클라우드, 트렌드 차트 생성
지원 7대 플랫폼 및 기능 매트릭스
MediaCrawler는 현재 다음 플랫폼을 지원하며, 각 플랫폼의 기능 커버리지는 높게 통일되어 있습니다:
| 플랫폼 | 코드 | 키워드 검색 | 지정 게시물 수집 | 2차 댓글 | 크리에이터 페이지 | 로그인 캐시 | IP 프록시 | 워드클라우드 |
|---|---|---|---|---|---|---|---|---|
| 샤오홍슈 | xhs |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 더우인 | dy |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 콰이쇼우 | ks |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 빌리빌리 | bili |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 웨이보 | wb |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 바이두 티에바 | tieba |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 즈후 | zhihu |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
세 가지 크롤링 모드:
- search: 키워드로 검색하여 관련 게시물/영상 크롤링
- detail: 지정 게시물 ID 또는 URL로 상세 정보와 댓글을 정확하게 크롤링
- creator: 지정 크리에이터 페이지의 모든 콘텐츠 크롤링
세 가지 로그인 방식:
- qrcode: QR 코드 스캔 로그인 (권장, 가장 안전)
- phone: 휴대폰 번호 + 인증 코드 로그인
- cookie: 기존 Cookie 직접 입력
기술 아키텍처: Python + Playwright의 절묘한 설계
MediaCrawler의 기술 선택은 실용주의 철학을 체현합니다. 전통적인 HTTP 요청 + 서명 리버스 엔지니어링 노선이 아닌, Playwright 브라우저 자동화로 로그인 상태를 처리하고, 유지되는 Cookie 환경을 통해 플랫폼 API를 호출합니다. 이 설계의 핵심 장점은 복잡한 암호화 알고리즘의 리버스 엔지니어링이 불필요하다는 점입니다.
핵심 아키텍처 계층
MediaCrawler
├── main.py # 프로그램 진입점, 크롤러 팩토리
├── config/ # 설정 관리 (플랫폼 설정, 기본 설정)
├── media_platform/ # 7대 플랫폼 크롤러 구현
│ ├── xhs/ # 샤오홍슈
│ ├── douyin/ # 더우인
│ ├── kuaishou/ # 콰이쇼우
│ ├── bilibili/ # 빌리빌리
│ ├── weibo/ # 웨이보
│ ├── tieba/ # 바이두 티에바
│ └── zhihu/ # 즈후
├── store/ # 데이터 저장 계층 (CSV/JSON/SQLite/MySQL/MongoDB)
├── proxy/ # IP 프록시 풀 관리
└── cache/ # 로그인 상태 캐시 관리
워크플로우
- 로그인 단계: Playwright가 브라우저를 열고, 사용자가 QR 코드 스캔/전화번호 입력, Cookie 획득
- 캐시 단계: Cookie를 로컬에 저장 (
cache/{platform}_cookies.json) - 크롤링 단계: Cookie 환경을 재사용하고, JS 표현식으로 서명 파라미터를 획득하여 플랫폼 API 호출
- 저장 단계: 수집한 데이터를 CSV/JSON/데이터베이스에 기록
CDP 모드: 안티 감지의 결정적 무기
MediaCrawler는 기본적으로 CDP(Chrome DevTools Protocol) 모드를 활성화하여 사용자의 기존 Chrome 브라우저에 연결합니다. Playwright의 헤드리스 브라우저와 비교하여 CDP 모드의 장점은:
- 진짜 브라우저 핑거프린트: 사용자가 실제로 설치한 Chrome 사용, 모든 확장 프로그램, 플러그인, 설정 포함
- 더 낮은 감지 위험: 브라우저 행동 패턴이 실제 사용자에게 더 가까움
- 로그인 상태 상속: 기존 Cookie와 탐색 기록을 자동 재사용
활성화 방법 (config/base_config.py):
ENABLE_CDP_MODE = True # CDP 모드 활성화
CDP_CONNECT_EXISTING = True # 기존 브라우저에 연결 (권장)
CDP_DEBUG_PORT = 9222 # 디버그 포트
사용 전 Chrome 주소창에 chrome://inspect/#remote-debugging를 입력하고 "Allow remote debugging for this browser instance"를 체크해야 합니다.
설치 및 빠른 시작
환경 요구사항
- Python 3.11+
- Node.js 16+ (더우인과 즈후에 필요)
- Chrome 브라우저 (최신 버전 권장)
방법 1: uv 설치 (권장)
uv는 현재 가장 빠른 Python 패키지 관리 도구로, 의존성 해결이 정확하여 권장됩니다.
# 1. 프로젝트 클론
git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
# 2. 의존성 설치 (가상 환경 자동 생성)
uv sync
# 3. 크롤러 실행 (샤오홍슈 예시)
uv run main.py --platform xhs --lt qrcode --type search
방법 2: 전통적인 venv 설치
# 1. 가상 환경 생성
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# 2. 의존성 설치
pip install -r requirements.txt
# 3. Playwright 브라우저 드라이버 설치 (비 CDP 모드에 필요)
playwright install
# 4. 크롤러 실행
python main.py --platform xhs --lt qrcode --type search
설정 파일 설명
핵심 설정은 config/base_config.py에 있으며, 자주 사용하는 파라미터:
# 플랫폼 선택: xhs | dy | ks | bili | wb | tieba | zhihu
PLATFORM = "xhs"
# 키워드 검색 (영문 쉼표 구분)
KEYWORDS = "AI프로그래밍,Python튜토리얼"
# 로그인 방식: qrcode | phone | cookie
LOGIN_TYPE = "qrcode"
# 크롤링 모드: search | detail | creator
CRAWLER_TYPE = "search"
# IP 프록시 활성화
ENABLE_IP_PROXY = False
# 댓글 크롤링 활성화
ENABLE_GET_COMMENTS = True
# 2차 댓글 활성화
ENABLE_GET_SUB_COMMENTS = False
# 데이터 저장 형식: csv | json | jsonl | sqlite | mysql | mongodb | excel
SAVE_DATA_OPTION = "jsonl"
# 단일 플랫폼 최대 크롤링 수
CRAWLER_MAX_NOTES_COUNT = 15
# 동시 실행 수
MAX_CONCURRENCY_NUM = 1
# 크롤링 간격 (초)
CRAWLER_MAX_SLEEP_SEC = 2
플랫폼별 설정은 각 플랫폼 전용 파일에 있습니다. 예: config/xhs_config.py, config/dy_config.py 등.
각 플랫폼 수집 실전
MediaCrawler의 커맨드라인 인터페이스는 통일되어 있고 간결합니다. 핵심 파라미터는 세 가지뿐입니다: --platform(플랫폼), --lt(로그인 방식), --type(크롤링 모드). 이하 샤오홍슈를 예로 완전한 수집 플로우를 보여줍니다.
샤오홍슈 수집
1. 키워드 검색 모드
# config/base_config.py 수정
PLATFORM = "xhs"
KEYWORDS = "AI아트,Stable Diffusion"
CRAWLER_TYPE = "search"
ENABLE_GET_COMMENTS = True # 댓글 수집 활성화
# 실행
uv run main.py --platform xhs --lt qrcode --type search
처음 실행 시 브라우저가 실행되고, 모바일 샤오홍슈로 QR 코드 스캔하여 로그인합니다. 로그인 성공 후 Cookie는 자동 캐시되며, 다음 실행 시 재스캔할 필요가 없습니다.
2. 지정 게시물 상세 모드
config/xhs_config.py에서 대상 게시물 URL 설정:
XHS_SPECIFIED_NOTE_URL_LIST = [
"https://www.xiaohongshu.com/explore/xxxxx?xsec_token=xxx",
# 여러 개 추가 가능
]
그리고 실행:
uv run main.py --platform xhs --lt qrcode --type detail
3. 크리에이터 페이지 모드
config/xhs_config.py에서 크리에이터 페이지 URL 설정:
XHS_CREATOR_ID_LIST = [
"https://www.xiaohongshu.com/user/profile/xxxxx?xsec_token=xxx",
]
실행:
uv run main.py --platform xhs --lt qrcode --type creator
더우인 수집
더우인은 Node.js 환경이 필요합니다 (JS 서명용). config/dy_config.py 설정:
# 키워드 검색
KEYWORDS = "Python튜토리얼,프로그래밍입문"
# 지정 영상 URL
DOUYIN_SPECIFIED_NOTE_URL_LIST = [
"https://www.douyin.com/video/xxxxx",
]
명령 실행:
uv run main.py --platform dy --lt qrcode --type search
더우인의 로그인 플로우는 샤오홍슈와 유사하며, QR 코드 스캔 후 Cookie가 로컬에 캐시됩니다.
빌리빌리 수집
빌리빌리는 영상류 플랫폼의 전형적인 예입니다. config/bilibili_config.py 설정:
# 검색 키워드
KEYWORDS = "오픈소스프로젝트,GitHub"
# 지정 영상 BV 번호
BILIBILI_SPECIFIED_NOTE_URL_LIST = [
"https://www.bilibili.com/video/BVxxxxxx",
]
# UP 주 페이지
BILIBILI_CREATOR_ID_LIST = [
"https://space.bilibili.com/xxxxx",
]
실행:
uv run main.py --platform bili --lt qrcode --type search
빌리빌리의 데이터 구조는 비교적 표준적이며, 수집 성공률이 높습니다.
웨이보, 콰이쇼우, 티에바, 즈후
다른 플랫폼의 설정 방법도 유사하며, config/ 디렉토리에서 해당 설정 파일을 수정한 후 실행합니다:
# 웨이보
uv run main.py --platform wb --lt qrcode --type search
# 콰이쇼우
uv run main.py --platform ks --lt qrcode --type search
# 바이두 티에바
uv run main.py --platform tieba --lt qrcode --type search
# 즈후
uv run main.py --platform zhihu --lt qrcode --type search
즈후와 콰이쇼우도 Node.js 환경이 필요합니다.
WebUI 시각화 인터페이스
커맨드라인을 사용하고 싶지 않은 경우, MediaCrawler는 WebUI를 제공합니다:
# 터미널 1: 백엔드 시작
uv run uvicorn api.main:app --port 8080 --reload
# 터미널 2: 프론트엔드 시작
cd webui
npm install
npm run dev
http://localhost:5173/에 접속하면 브라우저에서 파라미터 설정, 로그 확인, 데이터 미리보기가 가능합니다.
데이터 저장 및 내보내기
MediaCrawler는 7가지 데이터 저장 형식을 지원하며, SAVE_DATA_OPTION으로 설정합니다:
CSV / JSON / JSONL
가장 간단한 파일 저장 방식으로, 데이터는 data/{platform}/ 디렉토리에 저장됩니다.
SAVE_DATA_OPTION = "csv" # 또는 "json" / "jsonl"
CSV는 Excel로 열어 확인하기에 적합하고, JSON/JSONL은 프로그램 처리에 적합합니다.
SQLite
경량 데이터베이스로, 추가 설치 불필요하며 단일 머신 사용에 적합합니다.
SAVE_DATA_OPTION = "sqlite"
처음 실행 시 데이터베이스와 테이블 구조가 자동 생성되며, 중복 제거를 지원합니다.
MySQL / PostgreSQL
프로덕션 환경에서 권장되며, 대규모 데이터 저장과 쿼리를 지원합니다.
SAVE_DATA_OPTION = "mysql" # 또는 "postgres"
.env 파일에서 데이터베이스 연결을 설정해야 합니다:
MYSQL_DB_HOST=localhost
MYSQL_DB_PORT=3306
MYSQL_DB_USER=root
MYSQL_DB_PWD=your_password
MYSQL_DB_NAME=media_crawler
MongoDB
도큐먼트형 데이터베이스로, 구조가 고정되지 않은 데이터 저장에 적합합니다.
SAVE_DATA_OPTION = "mongodb"
.env 설정:
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_DB_NAME=media_crawler
Excel
직접 .xlsx 파일을 출력하여 비기술자가 쉽게 확인할 수 있습니다.
SAVE_DATA_OPTION = "excel"
데이터 필드 설명
샤오홍슈를 예로 들면, 수집되는 데이터에는 다음이 포함됩니다:
- 게시물 정보: 제목, 내용, 좋아요 수, 북마크 수, 댓글 수, 게시 시간, 태그
- 댓글 정보: 댓글 내용, 사용자 닉네임, 좋아요 수, 답글 수, 시간
- 크리에이터 정보: 닉네임, 팔로워 수, 획득 좋아요 수, 작품 수
모든 필드는 JSON 형식으로 저장되어 후속 분석에 용이합니다.
고급 사용법
정기 수집 및 증분 업데이트
MediaCrawler 자체에는 스케줄링 기능이 없지만, cron이나 APScheduler와 결합할 수 있습니다:
# Linux crontab 예시: 매일 오전 10시에 수집
0 10 * * * cd /path/to/MediaCrawler && uv run main.py --platform xhs --lt cookie --type search
증분 업데이트의 핵심은 데이터베이스의 중복 제거 기능을 활용하는 것입니다. SQLite나 MySQL로 저장할 때, MediaCrawler는 기존 레코드를 자동 건너뜁니다 (게시물 ID 기반). 같은 설정으로 정기적으로 실행하면 신규 콘텐츠만 수집할 수 있습니다.
IP 프록시 풀 설정
대규모 수집 시, 플랫폼의 리스크 관리를 회피하기 위해 IP 프록시 활성화를 권장합니다:
# config/base_config.py
ENABLE_IP_PROXY = True
IP_PROXY_POOL_COUNT = 2 # 프록시 풀 수
IP_PROXY_PROVIDER_NAME = "kuaidaili" # kuaidaili | wandouhttp | static 지원
.env 파일에서 프록시 서비스의 키를 설정:
# 快代理 설정
KDL_SECERT_ID=your_secret_id
KDL_SIGNATURE=your_signature
KDL_USER_NAME=your_username
KDL_USER_PWD=your_password
정적 프록시도 사용 가능:
IP_PROXY_PROVIDER_NAME = "static"
STATIC_PROXY_URL = "http://user:password@proxy.example.com:8080"
동시 실행 제어 및 요청 간격
# 동시 실행 수 (1-3 권장, 너무 높으면 리스크 관리 트리거 발생 가능)
MAX_CONCURRENCY_NUM = 1
# 요청 간격 (초, 1-2초 랜덤)
CRAWLER_MAX_SLEEP_SEC = 2
# 단일 플랫폼 최대 수집 수
CRAWLER_MAX_NOTES_COUNT = 15
소규모부터 테스트를 시작하여 점차 수집량을 늘리는 것을 권장합니다. 과도한 동시 실행과 고빈도는 계정 제한이나 IP 차단의 원인이 됩니다.
댓글 워드클라우드 생성
MediaCrawler에는 수집한 댓글 데이터 기반의 워드클라우드 생성 기능이 내장되어 있습니다:
# config/base_config.py
ENABLE_GET_WORDCLOUD = True
# 커스텀 단어 (선택)
CUSTOM_WORDS = {
"AI아트": "기술",
"Stable Diffusion": "도구",
}
# 불용어 파일
STOP_WORDS_FILE = "./docs/hit_stopwords.txt"
실행 후 data/ 디렉토리에 워드클라우드 이미지(PNG 형식)가 생성되어 댓글의 핫스팟을 직관적으로 표시합니다.
규정 준수 및 법적 리스크
중요 안내: 크롤러 기술의 사용은 법률과 플랫폼 서비스 약관을 준수해야 합니다.
법적 경계선
「중화인민공화국 네트워크 안전법」「데이터 안전법」「개인정보 보호법」 및 크롤러 위법 사례 모음에 따르면, 다음 행위는 위법할 수 있습니다:
- 승인 없이 개인정보 수집: 사용자 프라이버시 데이터 (전화번호, 신분증, 주소 등)
- 기술적 보호 조치 우회: 인증 코드 돌파, 신원 위장하여 리스크 관리 회피
- 대규모 수집 및 상업화: 수집 데이터를 상업적 목적으로 사용
- 플랫폼의 정상적인 운영 방해: 고빈도 요청으로 인한 서버 부하 과다
규정 준수 권장
- 공개 데이터만 수집: 특별한 권한이 필요한 콘텐츠는 수집하지 않음
- 수집 빈도 제어: 적절한 요청 간격을 설정하여 플랫폼에 부하를 주지 않음
- 상업적 목적으로 사용하지 않음: MediaCrawler는 NON-COMMERCIAL LEARNING LICENSE를 채택, 상업 사용 금지
- robots.txt 준수: 플랫폼의 크롤러 프로토콜 존중
- 사용자 프라이버시 보호: 수집한 사용자 개인정보를 공개하지 않음
면책 조항
MediaCrawler 프로젝트는 학습 및 연구 목적으로만 제공됩니다. 사용자는 본 도구의 사용으로 발생하는 모든 법적 책임을 부담합니다. 작성자는 어떠한 위법 행위에도 책임을 지지 않습니다.
다른 도구와의 비교
| 도구 | 지원 플랫폼 | 기술 스택 | 안티 감지 능력 | 학습 곡선 | 적용 시나리오 |
|---|---|---|---|---|---|
| MediaCrawler | 7대 중국어 플랫폼 | Python + Playwright | CDP 모드, 강함 | 중간 | 중국어 소셜 미디어 데이터 수집 |
| Snscrape | Twitter/Instagram 등 | Python | 약함, 차단되기 쉬움 | 낮음 | 해외 플랫폼 경량 수집 |
| Tweepy | Twitter 전용 | Python | 공식 API 의존 | 낮음 | Twitter 공식 API 개발 |
| Scrapy | 범용 | Python + Twisted | 자체 구현 필요 | 높음 | 대규모 커스텀 크롤러 |
| Selenium | 범용 | Python + WebDriver | 중간 | 중간 | 인터랙티브 웹 자동화 |
| Playwright | 범용 | Python/Node | 강함 | 중간 | 모던 웹 자동화 |
MediaCrawler의 장점
- 올인원 커버리지: 하나의 도구로 7대 중국어 플랫폼 지원, 각 플랫폼별 개발 불필요
- 리버스 엔지니어링 불필요: Playwright + CDP 모드 기반, 복잡한 서명 알고리즘 우회
- 즉시 사용 가능: 설정 파일이 명확하고, 커맨드라인 파라미터가 간결
- 활발한 커뮤니티: GitHub Star 수 지속적으로 증가, 문제 대응이 신속
다른 도구를 선택해야 할 때
- Snscrape/Tweepy: Twitter/Instagram 등 해외 플랫폼을 수집해야 할 때
- Scrapy: 대규모, 고동시 실행의 커스텀 크롤러를 구축해야 할 때
- Selenium/Playwright: 전용 소셜 미디어 수집이 아닌, 범용 웹 자동화 기능이 필요할 때
자주 묻는 질문 FAQ
1. MediaCrawler로 데이터 수집은 합법적인가요?
MediaCrawler 자체는 합법적인 학습 도구이지만, 사용 방식이 합법성을 결정합니다. 공개 데이터만 수집하고, 빈도를 제어하며, 상업적 목적으로 사용하지 않고, 플랫폼 서비스 약관을 준수하면 일반적으로 법적 문제가 없습니다. 그러나 개인정보 수집, 기술적 보호 우회, 대규모 상업적 사용은 「데이터 안전법」「개인정보 보호법」에 저촉될 수 있습니다. 법적 경계선에 대해서는 크롤러 위법 사례 모음을 참조하시기 바랍니다.
2. QR 코드 스캔 로그인이 실패하거나 자주 재스캔을 요구하는 이유는?
자주 발생하는 원인: - Cookie 만료: 플랫폼이 정기적으로 로그인 상태를 정리합니다. 재스캔으로 해결 - 리스크 관리 트리거: 빈번한 수집이나 비정상적인 행동으로 계정 제한. 수집 빈도를 낮추는 것을 권장 - 네트워크 문제: 프록시 IP가 불안정하거나 플랫폼에 마크됨. IP 전환 또는 프록시 비활성화 시도 - 브라우저 버전이 낮음: CDP 모드는 Chrome 144+가 필요. 브라우저 업데이트
3. 수집 성공률을 높이는 방법은?
- CDP 모드 활성화: 실제 브라우저 환경을 사용하여 감지 위험 감소
- 수집 빈도 제어:
CRAWLER_MAX_SLEEP_SEC = 2-5설정, 고빈도 요청 회피 - IP 프록시 사용: 대규모 수집 시 프록시 풀 활성화, 요청 소스 분산
- 1계정 1IP: 여러 계정이 동일 IP 공유를 피하여 관련 리스크 관리 트리거 방지
- 시간대 분산: 플랫폼 피크 시간대 (저녁 8-10시 등) 회피
4. 수집한 데이터를 상업 분석에 사용할 수 있나요?
사용할 수 없습니다. MediaCrawler는 NON-COMMERCIAL LEARNING LICENSE 1.1을 채택하고 있으며, 상업적 사용을 명확히 금지하고 있습니다. 상업적 사용이 필요한 경우: - 플랫폼 공식에 연락하여 데이터 서비스 구매 - 플랫폼이 제공하는 공식 API 사용 (웨이보 오픈 플랫폼, 빌리빌리 오픈 플랫폼 등) - 법률 전문가와 상담하여 데이터 수집과 사용이 법규에 부합하는지 확인
5. Windows/Mac/Linux를 지원하나요?
완전히 지원. MediaCrawler는 Python 기반으로 크로스 플랫폼 호환입니다. Windows 사용자 주의:
- 경로 구분자는 백슬래시 \
- 가상 환경 활성화 명령: venv\Scripts\activate
- Chrome 경로 예시: C:\Program Files\Google\Chrome\Application\chrome.exe
Mac/Linux 사용자:
- 가상 환경 활성화 명령: source venv/bin/activate
- Chrome 경로 예시: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
요약
MediaCrawler는 현재 가장 포괄적인 중국어 소셜 미디어 크롤러 프레임워크로, 하나의 도구로 샤오홍슈, 더우인, 콰이쇼우, 빌리빌리, 웨이보, 티에바, 즈후 7대 플랫폼을 커버합니다. 그 핵심 가치는:
- 기술적 진입 장벽 낮춤: Playwright + CDP 모드 기반, 복잡한 암호화 알고리즘의 리버스 엔지니어링 불필요
- 올인원 수집: 통일된 커맨드라인 인터페이스, 간단한 설정, 즉시 사용 가능
- 유연한 저장: CSV/JSON/SQLite/MySQL/MongoDB/Excel 7가지 형식 지원
- 안티 감지 능력: CDP 모드 + IP 프록시 풀, 차단 위험 감소
그러나 명확히 인식해야 할 점도 있습니다:
- 법적 리스크: 법률 법규를 준수하고, 학습과 연구에만 사용
- 플랫폼 리스크 관리: 수집 빈도가 너무 높으면 제한되거나 차단됨
- 비상업적 용도: LICENSE가 상업적 사용을 명확히 금지
데이터 분석가, 연구원, 개발자로서 학습, 연구, 개인 프로젝트를 위해 중국어 소셜 미디어 데이터를 수집해야 한다면, MediaCrawler는 가장 시도해 볼 만한 도구입니다. 단, 항상 규정 준수 사용, 플랫폼 규칙 존중, 사용자 프라이버시 보호를 명심하십시오.
프로젝트 주소: github.com/NanmiCoder/MediaCrawler
이 글이 도움이 되었다면, 프로젝트에 Star를 눌러 작성자를 지원해 주세요!
관련 글: