Was ist MediaCrawler?

Im Zeitalter der Datengetriebenheit bergen Social-Media-Plattformen eine Fülle von Nutzererkenntnissen, Inhaltstrends und Informationen zur öffentlichen Meinung. Doch das manuelle Sammeln dieser Daten ist ineffizient und nicht nachhaltig. MediaCrawler ist ein Open-Source-Projekt, das genau dieses Problem löst – ein leistungsstarkes Tool zur Datenerfassung auf mehreren Self-Media-Plattformen, entwickelt von NanmiCoder. Auf GitHub hat es zehntausende Stars erhalten und ist derzeit das umfassendste Crawler-Framework für chinesische Social-Media-Plattformen.

Der Kernwert von MediaCrawler liegt darin: Ein Tool deckt 7 große Mainstream-Plattformen ab, ohne dass für jede Plattform ein eigener Crawler entwickelt werden muss. Es basiert auf Pythons asynchroner Architektur, nutzt Playwright zur Browserautomatisierung für die Anmeldung und ruft dann über die gespeicherte Cookie-Umgebung die Plattform-APIs ab, um Signaturparameter zu erhalten – komplett ohne Reverse Engineering komplexer Verschlüsselungsalgorithmen, was die technische Hürde erheblich senkt.

Projektseite: github.com/NanmiCoder/MediaCrawler

Einsatzszenarien

  • Meinungsforschung: Überwachung der Markenwahrnehmung und Nutzerfeedbacks auf verschiedenen Plattformen
  • Trendforschung: Verfolgung von Trendthemen und gemeinsamen Merkmalen viraler Inhalte
  • Wettbewerbsanalyse: Erfassung von Veröffentlichungsfrequenz und Interaktionsdaten der Wettbewerber
  • Akademische Forschung: Analyse von Verbreitungsmustern und Nutzerverhalten in sozialen Medien
  • Datenvisualisierung: Erstellung von Wordclouds und Trenddiagrammen aus erfassten Daten

Die 7 unterstützten Plattformen und Funktionsmatrix

MediaCrawler unterstützt derzeit folgende Plattformen, wobei die Funktionsabdeckung auf jeder Plattform weitgehend einheitlich ist:

Plattform Code Keyword-Suche Bestimmte Beiträge Unterkommentare Creator-Profil Login-Cache IP-Proxy Wordcloud
Xiaohongshu xhs ✅ ✅ ✅ ✅ ✅ ✅ ✅
Douyin dy ✅ ✅ ✅ ✅ ✅ ✅ ✅
Kuaishou ks ✅ ✅ ✅ ✅ ✅ ✅ ✅
Bilibili bili ✅ ✅ ✅ ✅ ✅ ✅ ✅
Weibo wb ✅ ✅ ✅ ✅ ✅ ✅ ✅
Baidu Tieba tieba ✅ ✅ ✅ ✅ ✅ ✅ ✅
Zhihu zhihu ✅ ✅ ✅ ✅ ✅ ✅ ✅

Drei Crawler-Modi:

  • search: Keyword-Suche und Erfassung relevanter Beiträge/Videos
  • detail: Angabe einer Beitrags-ID oder URL für gezielte Detail- und Kommentar-Erfassung
  • creator: Erfassung aller Inhalte eines bestimmten Creator-Profils

Drei Anmeldemethoden:

  • qrcode: QR-Code-Login (empfohlen, am sichersten)
  • phone: Telefonnummer + SMS-Code
  • cookie: Direkte Eingabe vorhandener Cookies

Technische Architektur: Das clevere Design mit Python + Playwright

Die Technologieauswahl von MediaCrawler spiegelt eine pragmatische Philosophie wider. Statt auf klassische HTTP-Requests mit Reverse Engineering von Signaturen zu setzen, nutzt es Playwright-Browserautomatisierung für die Anmeldung und ruft dann über die gespeicherte Cookie-Umgebung die Plattform-APIs ab. Der Hauptvorteil dieses Ansatzes: Kein Reverse Engineering komplexer Verschlüsselungsalgorithmen erforderlich.

Kernarchitektur-Schichten

MediaCrawler
├── main.py              # Programmeinstieg, Crawler-Factory
├── config/              # Konfigurationsverwaltung (Plattform- und Basiskonfiguration)
├── media_platform/      # Crawler-Implementierungen für 7 Plattformen
│   ├── xhs/            # Xiaohongshu
│   ├── douyin/         # Douyin
│   ├── kuaishou/       # Kuaishou
│   ├── bilibili/       # Bilibili
│   ├── weibo/          # Weibo
│   ├── tieba/          # Baidu Tieba
│   └── zhihu/          # Zhihu
├── store/              # Datenspeicherung (CSV/JSON/SQLite/MySQL/MongoDB)
├── proxy/              # IP-Proxy-Pool-Verwaltung
└── cache/              # Login-State-Cache-Verwaltung

Arbeitsablauf

  1. Anmeldung: Playwright öffnet den Browser, der Nutzer scannt den QR-Code oder gibt die Telefonnummer ein, Cookies werden erhalten
  2. Caching: Cookies werden lokal gespeichert (cache/{platform}_cookies.json)
  3. Crawling: Cookie-Umgebung wird wiederverwendet, Signaturparameter werden über JS-Ausdrücke abgerufen, Plattform-APIs werden aufgerufen
  4. Speicherung: Erfasste Daten werden in CSV/JSON/Datenbanken geschrieben

CDP-Modus: Die Geheimwaffe gegen Erkennung

MediaCrawler aktiviert standardmäßig den CDP-Modus (Chrome DevTools Protocol) und verbindet sich mit dem bereits installierten Chrome-Browser des Nutzers. Im Vergleich zu Playwrights Headless-Browser bietet der CDP-Modus folgende Vorteile:

  • Echte Browser-Fingerabdrücke: Verwendet den tatsächlich installierten Chrome mit allen Erweiterungen, Plugins und Einstellungen
  • Geringeres Erkennungsrisiko: Browserverhalten ähnelt eher echten Nutzern
  • Übernommener Login-State: Bestehende Cookies und der Browserverlauf werden automatisch wiederverwendet

Aktivierung (config/base_config.py):

PYTHON
ENABLE_CDP_MODE = True           # CDP-Modus aktivieren
CDP_CONNECT_EXISTING = True      # Mit bestehendem Browser verbinden (empfohlen)
CDP_DEBUG_PORT = 9222            # Debug-Port

Vor der Nutzung muss in der Chrome-Adressleiste chrome://inspect/#remote-debugging aufgerufen und "Allow remote debugging for this browser instance" aktiviert werden.

Installation und Schnellstart

Systemanforderungen

  • Python 3.11+
  • Node.js 16+ (für Douyin und Zhihu erforderlich)
  • Chrome-Browser (neueste Version empfohlen)

Methode 1: Installation mit uv (empfohlen)

uv ist derzeit das schnellste Python-Paketverwaltungstool mit präziser Abhängigkeitsauflösung und wird empfohlen.

BASH
# 1. Projekt klonen
git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler

# 2. Abhängigkeiten installieren (virtuelle Umgebung wird automatisch erstellt)
uv sync

# 3. Crawler starten (Beispiel: Xiaohongshu)
uv run main.py --platform xhs --lt qrcode --type search

Methode 2: Klassische venv-Installation

BASH
# 1. Virtuelle Umgebung erstellen
python -m venv venv
source venv/bin/activate  # Linux/macOS
# venv\Scripts\activate   # Windows

# 2. Abhängigkeiten installieren
pip install -r requirements.txt

# 3. Playwright-Browser-Treiber installieren (für Nicht-CDP-Modus)
playwright install

# 4. Crawler starten
python main.py --platform xhs --lt qrcode --type search

Konfigurationsdateien

Die Kernkonfiguration befindet sich in config/base_config.py, häufig verwendete Parameter:

PYTHON
# Plattform-Auswahl: xhs | dy | ks | bili | wb | tieba | zhihu
PLATFORM = "xhs"

# Keywords (durch Komma getrennt)
KEYWORDS = "AI编程,Python教程"

# Anmeldemethode: qrcode | phone | cookie
LOGIN_TYPE = "qrcode"

# Crawler-Modus: search | detail | creator
CRAWLER_TYPE = "search"

# IP-Proxy aktivieren
ENABLE_IP_PROXY = False

# Kommentar-Erfassung aktivieren
ENABLE_GET_COMMENTS = True

# Unterkommentare aktivieren
ENABLE_GET_SUB_COMMENTS = False

# Datenspeicherformat: csv | json | jsonl | sqlite | mysql | mongodb | excel
SAVE_DATA_OPTION = "jsonl"

# Maximale Anzahl pro Plattform
CRAWLER_MAX_NOTES_COUNT = 15

# Parallelität
MAX_CONCURRENCY_NUM = 1

# Crawl-Intervall (Sekunden)
CRAWLER_MAX_SLEEP_SEC = 2

Plattformspezifische Konfigurationen befinden sich in den jeweiligen Dateien wie config/xhs_config.py, config/dy_config.py usw.

Praxis auf den einzelnen Plattformen

Die Befehlszeilenschnittstelle von MediaCrawler ist einheitlich und übersichtlich – die drei Kernparameter lauten: --platform (Plattform), --lt (Anmeldemethode), --type (Crawler-Modus). Im Folgenden wird der vollständige Erfassungsablauf am Beispiel von Xiaohongshu demonstriert.

Xiaohongshu-Erfassung

1. Keyword-Suchmodus

BASH
# config/base_config.py anpassen
PLATFORM = "xhs"
KEYWORDS = "AI绘画,Stable Diffusion"
CRAWLER_TYPE = "search"
ENABLE_GET_COMMENTS = True  # Kommentar-Erfassung aktivieren

# Starten
uv run main.py --platform xhs --lt qrcode --type search

Beim ersten Start öffnet sich der Browser. Mithilfe der Xiaohongshu-App auf dem Smartphone kann der QR-Code gescannt werden. Nach erfolgreicher Anmeldung werden die Cookies automatisch zwischengespeichert – beim nächsten Start ist kein erneutes Scannen erforderlich.

2. Bestimmter Beitrags-Detailmodus

In config/xhs_config.py wird die URL des Zielbeitrags konfiguriert:

PYTHON
XHS_SPECIFIED_NOTE_URL_LIST = [
    "https://www.xiaohongshu.com/explore/xxxxx?xsec_token=xxx",
    # Mehrere Einträge möglich
]

Dann ausführen:

BASH
uv run main.py --platform xhs --lt qrcode --type detail

3. Creator-Profil-Modus

In config/xhs_config.py wird die Creator-Profil-URL konfiguriert:

PYTHON
XHS_CREATOR_ID_LIST = [
    "https://www.xiaohongshu.com/user/profile/xxxxx?xsec_token=xxx",
]

Starten:

BASH
uv run main.py --platform xhs --lt qrcode --type creator

Douyin-Erfassung

Douyin benötigt eine Node.js-Umgebung (für JS-Signaturen). Konfiguration in config/dy_config.py:

PYTHON
# Keyword-Suche
KEYWORDS = "Python教程,编程入门"

# Bestimmte Video-URLs
DOUYIN_SPECIFIED_NOTE_URL_LIST = [
    "https://www.douyin.com/video/xxxxx",
]

Befehl ausführen:

BASH
uv run main.py --platform dy --lt qrcode --type search

Der Anmeldevorgang bei Douyin ähnelt dem von Xiaohongshu – nach dem QR-Code-Scan werden die Cookies lokal zwischengespeichert.

Bilibili-Erfassung

Bilibili ist ein typischer Vertreter videobasierter Plattformen. Konfiguration in config/bilibili_config.py:

PYTHON
# Such-Keywords
KEYWORDS = "开源项目,GitHub"

# Bestimmte Video-BV-Nummer
BILIBILI_SPECIFIED_NOTE_URL_LIST = [
    "https://www.bilibili.com/video/BVxxxxxx",
]

# UP-Host-Homepage
BILIBILI_CREATOR_ID_LIST = [
    "https://space.bilibili.com/xxxxx",
]

Starten:

BASH
uv run main.py --platform bili --lt qrcode --type search

Die Datenstruktur von Bilibili ist relativ standardisiert, wodurch die Erfassungsrate hoch ist.

Weibo, Kuaishou, Tieba, Zhihu

Die Konfiguration der anderen Plattformen erfolgt analog – es muss nur die entsprechende Konfigurationsdatei unter config/ angepasst werden:

BASH
# Weibo
uv run main.py --platform wb --lt qrcode --type search

# Kuaishou
uv run main.py --platform ks --lt qrcode --type search

# Baidu Tieba
uv run main.py --platform tieba --lt qrcode --type search

# Zhihu
uv run main.py --platform zhihu --lt qrcode --type search

Zhihu und Kuaishou benötigen ebenfalls eine Node.js-Umgebung.

WebUI – Visuelle Oberfläche

Wer nicht mit der Befehlszeile arbeiten möchte, kann die WebUI nutzen:

BASH
# Terminal 1: Backend starten
uv run uvicorn api.main:app --port 8080 --reload

# Terminal 2: Frontend starten
cd webui
npm install
npm run dev

Unter http://localhost:5173/ können im Browser Parameter konfiguriert, Logs eingesehen und Daten vorgeschaut werden.

Datenspeicherung und -export

MediaCrawler unterstützt 7 Speicherformate, konfigurierbar über SAVE_DATA_OPTION:

CSV / JSON / JSONL

Die einfachste Dateispeicherung. Daten werden im Verzeichnis data/{platform}/ abgelegt.

PYTHON
SAVE_DATA_OPTION = "csv"   # oder "json" / "jsonl"

CSV eignet sich zum Öffnen mit Excel, JSON/JSONL für die programmatische Verarbeitung.

SQLite

Leichtgewichtige Datenbank, keine zusätzliche Installation erforderlich, ideal für den Einzelplatzbetrieb.

PYTHON
SAVE_DATA_OPTION = "sqlite"

Beim ersten Start werden Datenbank und Tabellenstruktur automatisch erstellt; Deduplizierung wird unterstützt.

MySQL / PostgreSQL

Für Produktionsumgebungen empfohlen – unterstützt großvolumige Datenspeicherung und -abfragen.

PYTHON
SAVE_DATA_OPTION = "mysql"  # oder "postgres"

Datenbankverbindung in der .env-Datei konfigurieren:

BASH
MYSQL_DB_HOST=localhost
MYSQL_DB_PORT=3306
MYSQL_DB_USER=root
MYSQL_DB_PWD=your_password
MYSQL_DB_NAME=media_crawler

MongoDB

Dokumentenbasierte Datenbank, geeignet für Daten mit variabler Struktur.

PYTHON
SAVE_DATA_OPTION = "mongodb"

.env konfigurieren:

BASH
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_DB_NAME=media_crawler

Excel

Gibt direkt .xlsx-Dateien aus – praktisch für nicht-technische Nutzer.

PYTHON
SAVE_DATA_OPTION = "excel"

Datenfeldbeschreibung

Am Beispiel Xiaohongshu umfassen die erfassten Daten:

  • Beitragsinformationen: Titel, Inhalt, Likes, Speicherungen, Kommentare, Veröffentlichungszeitpunkt, Tags
  • Kommentarinformationen: Kommentarinhalt, Benutzername, Likes, Antwortanzahl, Zeitpunkt
  • Creator-Informationen: Name, Follower-Anzahl, Likes erhalten, Anzahl der Werke

Alle Felder werden im JSON-Format gespeichert, was die nachfolgende Analyse erleichtert.

Fortgeschrittene Nutzung

Zeitgesteuerte Erfassung und inkrementelle Updates

MediaCrawler enthält keine eigene Zeitplanungsfunktion, kann aber mit cron oder APScheduler kombiniert werden:

BASH
# Linux-Crontab-Beispiel: Täglich um 10 Uhr
0 10 * * * cd /path/to/MediaCrawler && uv run main.py --platform xhs --lt cookie --type search

Der Schlüssel zu inkrementellen Updates liegt in der Datenbank-Deduplizierung. Bei SQLite- oder MySQL-Speicherung überspringt MediaCrawler automatisch bereits vorhandene Datensätze (basierend auf der Beitrags-ID). Durch regelmäßiges Ausführen mit derselben Konfiguration werden nur neue Inhalte erfasst.

IP-Proxy-Pool-Konfiguration

Bei großangelegter Erfassung wird die Aktivierung von IP-Proxys empfohlen, um Plattform-Risikokontrollen zu vermeiden:

PYTHON
# config/base_config.py
ENABLE_IP_PROXY = True
IP_PROXY_POOL_COUNT = 2  # Anzahl der Proxy-Pools
IP_PROXY_PROVIDER_NAME = "kuaidaili"  # Unterstützt: kuaidaili | wandouhttp | static

Die Zugangsdaten des Proxy-Anbieters werden in der .env-Datei konfiguriert:

BASH
# Kuaidaili-Konfiguration
KDL_SECERT_ID=your_secret_id
KDL_SIGNATURE=your_signature
KDL_USER_NAME=your_username
KDL_USER_PWD=your_password

Statische Proxys sind ebenfalls möglich:

PYTHON
IP_PROXY_PROVIDER_NAME = "static"
STATIC_PROXY_URL = "http://user:password@proxy.example.com:8080"

Parallelitätssteuerung und Anfrageintervalle

PYTHON
# Parallelität (1-3 empfohlen, zu hohe Werte lösen Risikokontrollen aus)
MAX_CONCURRENCY_NUM = 1

# Anfrageintervall (Sekunden, zufällig 1-2 Sekunden)
CRAWLER_MAX_SLEEP_SEC = 2

# Maximale Erfassungsmenge pro Plattform
CRAWLER_MAX_NOTES_COUNT = 15

Es wird empfohlen, mit geringen Mengen zu beginnen und die Erfassung schrittweise zu steigern. Zu hohe Parallelität und Frequenz können zu Kontoeinschränkungen oder IP-Sperrungen führen.

Wordcloud-Generierung aus Kommentaren

MediaCrawler bietet eine integrierte Wordcloud-Funktion auf Basis der erfassten Kommentardaten:

PYTHON
# config/base_config.py
ENABLE_GET_WORDCLOUD = True

# Eigene Begriffe (optional)
CUSTOM_WORDS = {
    "AI绘画": "技术",
    "Stable Diffusion": "工具",
}

# Stoppwörter-Datei
STOP_WORDS_FILE = "./docs/hit_stopwords.txt"

Nach dem Ausführen wird im data/-Verzeichnis eine Wordcloud (PNG-Format) generiert, die Kommentar-Hotspots visuell darstellt.

Rechtliche Konformität und Risiken

Wichtiger Hinweis: Der Einsatz von Crawler-Technologie muss den Gesetzen und Plattform-Nutzungsbedingungen entsprechen.

Rechtliche Grenzen

Gemäß dem „Cybersecurity Law der Volksrepublik China", dem „Datensicherheitsgesetz", dem „Gesetz zum Schutz persönlicher Informationen" sowie der Sammlung von Crawler-Rechtsfällen können folgende Handlungen rechtswidrig sein:

  • Unbefugte Erfassung persönlicher Daten: Private Nutzerdaten (Telefonnummern, Ausweisnummern, Adressen usw.)
  • Umgehung technischer Schutzmaßnahmen: Knacken von CAPTCHAs, Identitätstäuschung zur Umgehung von Risikokontrollen
  • Massenerfassung und kommerzielle Nutzung: Verwendung erfasster Daten für kommerzielle Zwecke
  • Beeinträchtigung des Plattformbetriebs: Hochfrequente Anfragen, die zu hoher Serverlast führen

Empfehlungen zur rechtlichen Konformität

  1. Nur öffentliche Daten erfassen: Keine Inhalte erfassen, die besondere Zugriffsrechte erfordern
  2. Erfassungsfrequenz kontrollieren: Angemessene Anfrageintervalle einstellen, um die Plattform nicht zu belasten
  3. Nicht kommerziell nutzen: MediaCrawler steht unter der NON-COMMERCIAL LEARNING LICENSE – kommerzielle Nutzung ist untersagt
  4. robots.txt beachten: Die Crawler-Richtlinien der Plattformen respektieren
  5. Privatsphäre schützen: Erfasste persönliche Daten nicht öffentlich verbreiten

Haftungsausschluss

Das MediaCrawler-Projekt dient ausschließlich Lern- und Forschungszwecken. Nutzer tragen die volle rechtliche Verantwortung für die Verwendung dieses Tools. Der Autor übernimmt keine Haftung für rechtswidriges Verhalten.

Vergleich mit anderen Tools

Tool Unterstützte Plattformen Tech-Stack Anti-Erkennung Lernkurve Einsatzszenario
MediaCrawler 7 große chinesische Plattformen Python + Playwright CDP-Modus, stark Mittel Chinesische Social-Media-Datenerfassung
Snscrape Twitter/Instagram u.a. Python Schwach, leicht sperrbar Niedrig Leichte Erfassung ausländischer Plattformen
Tweepy Nur Twitter Python Abhängig von offizieller API Niedrig Twitter-API-Entwicklung
Scrapy Allgemein Python + Twisted Eigene Implementierung nötig Hoch Großangelegte, maßgeschneiderte Crawler
Selenium Allgemein Python + WebDriver Mittel Mittel Interaktive Web-Automatisierung
Playwright Allgemein Python/Node Stark Mittel Moderne Web-Automatisierung

Vorteile von MediaCrawler

  • All-in-One: Ein Tool für 7 große chinesische Plattformen, keine plattformspezifische Entwicklung nötig
  • Kein Reverse Engineering: Basierend auf Playwright + CDP-Modus, komplexe Signaturalgorithmen werden umgangen
  • Sofort einsatzbereit: Übersichtliche Konfigurationsdateien, einfache Befehlszeilenparameter
  • Aktive Community: GitHub-Stars wachsen stetig, Issues werden zeitnah bearbeitet

Wann andere Tools sinnvoller sind

  • Snscrape/Tweepy: Erfassung ausländischer Plattformen wie Twitter/Instagram erforderlich
  • Scrapy: Großangelegte, hochparallele, maßgeschneiderte Crawler benötigt
  • Selenium/Playwright: Allgemeine Web-Automatisierung statt spezialisierter Social-Media-Erfassung

Häufig gestellte Fragen (FAQ)

MediaCrawler selbst ist ein legales Lernwerkzeug, aber die Legalität hängt von der Nutzungsweise ab. Werden nur öffentliche Daten erfasst, die Frequenz kontrolliert, nicht kommerziell genutzt und die Plattform-AGB eingehalten, sind in der Regel keine rechtlichen Probleme zu erwarten. Allerdings können die Erfassung persönlicher Daten, die Umgehung technischer Schutzmaßnahmen oder großangelegte kommerzielle Nutzung gegen das „Datensicherheitsgesetz" und das „Gesetz zum Schutz persönlicher Informationen" verstoßen. Zur Orientierung über rechtliche Grenzen wird die Sammlung von Crawler-Rechtsfällen empfohlen.

2. Warum schlägt der QR-Code-Login fehl oder muss wiederholt werden?

Häufige Ursachen: - Cookies abgelaufen: Plattformen bereinigen regelmäßig den Login-State – erneutes Scannen löst das Problem - Risikokontrolle ausgelöst: Häufige Erfassung oder anomalies Verhalten führen zu Kontoeinschränkungen – Erfassungsfrequenz reduzieren - Netzwerkprobleme: Instabile Proxy-IPs oder Plattform-Markierungen – IP wechseln oder Proxy deaktivieren - Veraltete Browser-Version: CDP-Modus erfordert Chrome 144+ – Browser aktualisieren

3. Wie lässt sich die Erfassungsrate verbessern?

  • CDP-Modus aktivieren: Echte Browser-Umgebung reduziert Erkennungsrisiko
  • Erfassungsfrequenz kontrollieren: CRAWLER_MAX_SLEEP_SEC = 2-5 einstellen, um Hochfrequenz-Anfragen zu vermeiden
  • IP-Proxy verwenden: Bei großangelegter Erfassung Proxy-Pool aktivieren, um Anfragen zu verteilen
  • Ein Konto, eine IP: Mehrere Konten über dieselbe IP vermeiden – löst verknüpfte Risikokontrollen aus
  • Nebenstoßzeiten nutzen: Plattform-Hochlastzeiten (z.B. 20–22 Uhr) meiden

4. Können erfasste Daten für kommerzielle Analysen genutzt werden?

Nein. MediaCrawler steht unter der NON-COMMERCIAL LEARNING LICENSE 1.1, die kommerzielle Nutzung ausdrücklich untersagt. Für kommerzielle Zwecke wird empfohlen: - Offizielle Datendienste der Plattformen kaufen - Von den Plattformen bereitgestellte offizielle APIs nutzen (z.B. Weibo Open Platform, Bilibili Open Platform) - Rechtsexperten konsultieren, um Konformität sicherzustellen

5. Wird Windows/Mac/Linux unterstützt?

Vollständig unterstützt. MediaCrawler basiert auf Python und ist plattformübergreifend kompatibel. Windows-Nutzer beachten: - Pfadtrennzeichen: Backslash \ - Aktivierung der virtuellen Umgebung: venv\Scripts\activate - Chrome-Pfad-Beispiel: C:\Program Files\Google\Chrome\Application\chrome.exe

Mac/Linux-Nutzer: - Aktivierung der virtuellen Umgebung: source venv/bin/activate - Chrome-Pfad-Beispiel: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

Zusammenfassung

MediaCrawler ist derzeit das umfassendste Crawler-Framework für chinesische Social-Media-Plattformen. Ein Tool deckt Xiaohongshu, Douyin, Kuaishou, Bilibili, Weibo, Tieba und Zhihu ab. Seine Kernwerte:

  • Niedrigere technische Hürden: Basierend auf Playwright + CDP-Modus, kein Reverse Engineering komplexer Verschlüsselungsalgorithmen
  • All-in-One-Erfassung: Einheitliche Befehlszeilenschnittstelle, einfache Konfiguration, sofort einsatzbereit
  • Flexible Speicherung: Unterstützt 7 Formate – CSV/JSON/SQLite/MySQL/MongoDB/Excel
  • Anti-Erkennung: CDP-Modus + IP-Proxy-Pool reduziert das Risiko von Sperrungen

Dennoch ist Folgendes zu beachten:

  • Rechtliche Risiken: Gesetze müssen eingehalten werden – nur für Lern- und Forschungszwecke
  • Plattform-Risikokontrollen: Zu hohe Erfassungsfrequenz führt zu Einschränkungen oder Sperrungen
  • Nicht-kommerzielle Nutzung: Die LICENSE untersagt ausdrücklich kommerzielle Verwendung

Wer als Datenanalyst, Forscher oder Entwickler chinesische Social-Media-Daten für Lernen, Forschung oder persönliche Projekte erfassen möchte, findet in MediaCrawler das derzeit lohnenswerteste Tool. Dabei stets beachten: Rechtskonform nutzen, Plattformregeln respektieren, Privatsphäre schützen.

Projektseite: github.com/NanmiCoder/MediaCrawler

Wenn dieser Artikel hilfreich war, freut sich der Autor über einen Star auf GitHub!

Weiterführende Artikel: