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 |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
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
- Anmeldung: Playwright öffnet den Browser, der Nutzer scannt den QR-Code oder gibt die Telefonnummer ein, Cookies werden erhalten
- Caching: Cookies werden lokal gespeichert (
cache/{platform}_cookies.json) - Crawling: Cookie-Umgebung wird wiederverwendet, Signaturparameter werden über JS-Ausdrücke abgerufen, Plattform-APIs werden aufgerufen
- 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):
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.
# 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
# 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:
# 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
# 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:
XHS_SPECIFIED_NOTE_URL_LIST = [
"https://www.xiaohongshu.com/explore/xxxxx?xsec_token=xxx",
# Mehrere Einträge möglich
]
Dann ausführen:
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:
XHS_CREATOR_ID_LIST = [
"https://www.xiaohongshu.com/user/profile/xxxxx?xsec_token=xxx",
]
Starten:
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:
# Keyword-Suche
KEYWORDS = "Python教程,编程入门"
# Bestimmte Video-URLs
DOUYIN_SPECIFIED_NOTE_URL_LIST = [
"https://www.douyin.com/video/xxxxx",
]
Befehl ausführen:
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:
# 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:
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:
# 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:
# 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.
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.
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.
SAVE_DATA_OPTION = "mysql" # oder "postgres"
Datenbankverbindung in der .env-Datei konfigurieren:
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.
SAVE_DATA_OPTION = "mongodb"
.env konfigurieren:
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_DB_NAME=media_crawler
Excel
Gibt direkt .xlsx-Dateien aus – praktisch für nicht-technische Nutzer.
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:
# 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:
# 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:
# 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:
IP_PROXY_PROVIDER_NAME = "static"
STATIC_PROXY_URL = "http://user:password@proxy.example.com:8080"
Parallelitätssteuerung und Anfrageintervalle
# 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:
# 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
- Nur öffentliche Daten erfassen: Keine Inhalte erfassen, die besondere Zugriffsrechte erfordern
- Erfassungsfrequenz kontrollieren: Angemessene Anfrageintervalle einstellen, um die Plattform nicht zu belasten
- Nicht kommerziell nutzen: MediaCrawler steht unter der NON-COMMERCIAL LEARNING LICENSE – kommerzielle Nutzung ist untersagt
- robots.txt beachten: Die Crawler-Richtlinien der Plattformen respektieren
- 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)
1. Ist die Datenerfassung mit MediaCrawler legal?
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-5einstellen, 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: