Qu'est-ce que MediaCrawler ?
À l'ère du data-driven, les plateformes de médias sociaux regorgent d'informations précieuses sur les utilisateurs, les tendances de contenu et l'opinion publique. Cependant, collecter manuellement ces données est inefficace et non durable. MediaCrawler est un projet open source conçu pour résoudre ce problème — c'est un outil puissant de collecte de données pour les médias sociaux auto-gérés, maintenu par le développeur NanmiCoder, ayant obtenu des dizaines de milliers d'étoiles sur GitHub, c'est actuellement le framework de robot d'extraction de médias sociaux chinois le plus complet.
La valeur fondamentale de MediaCrawler réside dans : un seul outil couvrant 7 grandes plateformes majeures, sans avoir à développer un robot d'extraction séparé pour chaque plateforme. Il est basé sur une architecture asynchrone Python, utilise l'automatisation de navigateur Playwright pour gérer l'état de connexion, puis appelle les API de la plateforme via un environnement Cookie conservé pour obtenir les paramètres de signature, sans avoir à faire de rétro-ingénierie sur des algorithmes de chiffrement complexes, réduisant considérablement le seuil technique.
Adresse du projet : github.com/NanmiCoder/MediaCrawler
Cas d'utilisation
- Analyse de l'opinion publique : surveiller la réputation de la marque et les retours des utilisateurs sur différentes plateformes
- Recherche de tendances de contenu : suivre les sujets populaires et les caractéristiques communes des contenus viraux
- Analyse concurrentielle : collecter la fréquence de publication et les données d'interaction des comptes concurrents
- Recherche académique : modèles de diffusion des médias sociaux, analyse du comportement des utilisateurs
- Visualisation de données : générer des nuages de mots et des graphiques de tendances à partir des données collectées
Les 7 grandes plateformes prises en charge et la matrice de fonctionnalités
MediaCrawler prend actuellement en charge les plateformes suivantes, avec une couverture fonctionnelle hautement cohérente pour chaque plateforme :
| Plateforme | Code | Recherche par mot-clé | Extraction de publication spécifique | Commentaires de second niveau | Page du créateur | Cache de connexion | Proxy IP | Nuage de mots |
|---|---|---|---|---|---|---|---|---|
| Xiaohongshu | xhs |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Douyin | dy |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Kuaishou | ks |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bilibili | bili |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
wb |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Baidu Tieba | tieba |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Zhihu | zhihu |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Trois modes d'extraction :
- search : rechercher par mot-clé et extraire les publications/vidéos associées
- detail : spécifier l'ID ou l'URL de la publication pour extraire précisément les détails et les commentaires
- creator : extraire tout le contenu de la page d'un créateur spécifique
Trois méthodes de connexion :
- qrcode : connexion par scan de code QR (recommandé, le plus sécurisé)
- phone : connexion par numéro de téléphone + code de vérification
- cookie : remplir directement un Cookie existant
Architecture technique : la conception astucieuse de Python + Playwright
L'architecture technique de MediaCrawler incarne une philosophie pragmatique. Au lieu de suivre la route traditionnelle des requêtes HTTP + rétro-ingénierie de signature, il utilise l'automatisation de navigateur Playwright pour gérer l'état de connexion, puis appelle les API de la plateforme via un environnement Cookie conservé. L'avantage principal de cette conception est : pas besoin de rétro-ingénierie sur des algorithmes de chiffrement complexes.
Architecture de base en couches
MediaCrawler
├── main.py # Point d'entrée du programme, fabrique de robots d'extraction
├── config/ # Gestion de la configuration (configuration de plateforme, configuration de base)
├── media_platform/ # Implémentation des robots d'extraction pour 7 grandes plateformes
│ ├── xhs/ # Xiaohongshu
│ ├── douyin/ # Douyin
│ ├── kuaishou/ # Kuaishou
│ ├── bilibili/ # Bilibili
│ ├── weibo/ # Weibo
│ ├── tieba/ # Baidu Tieba
│ └── zhihu/ # Zhihu
├── store/ # Couche de stockage des données (CSV/JSON/SQLite/MySQL/MongoDB)
├── proxy/ # Gestion du pool de proxies IP
└── cache/ # Gestion du cache d'état de connexion
Flux de travail
- Phase de connexion : Playwright ouvre le navigateur, l'utilisateur scanne le code QR/entre le numéro de téléphone, obtient les Cookies
- Phase de cache : les Cookies sont sauvegardés localement (
cache/{platform}_cookies.json) - Phase d'extraction : réutilise l'environnement Cookie, obtient les paramètres de signature via des expressions JS, appelle les API de la plateforme
- Phase de stockage : écrit les données collectées dans CSV/JSON/base de données
Mode CDP : l'arme secrète anti-détection
MediaCrawler active par défaut le mode CDP (Chrome DevTools Protocol), se connectant au navigateur Chrome existant de l'utilisateur. Par rapport au navigateur headless de Playwright, les avantages du mode CDP sont :
- Empreinte de navigateur réelle : utilise le Chrome réellement installé par l'utilisateur, incluant toutes les extensions, plugins et paramètres
- Risque de détection plus faible : le comportement du navigateur est plus proche de celui d'un utilisateur réel
- Hérite de l'état de connexion : réutilise automatiquement les Cookies et l'historique de navigation existants
Méthode d'activation (config/base_config.py) :
ENABLE_CDP_MODE = True # Activer le mode CDP
CDP_CONNECT_EXISTING = True # Se connecter au navigateur existant (recommandé)
CDP_DEBUG_PORT = 9222 # Port de débogage
Avant utilisation, entrez chrome://inspect/#remote-debugging dans la barre d'adresse de Chrome et cochez "Allow remote debugging for this browser instance".
Installation et démarrage rapide
Prérequis environnement
- Python 3.11+
- Node.js 16+ (requis pour Douyin et Zhihu)
- Navigateur Chrome (dernière version recommandée)
Méthode 1 : Installation via uv (recommandé)
uv est actuellement l'outil de gestion de paquets Python le plus rapide, avec une résolution de dépendances précise, recommandé.
# 1. Cloner le projet
git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
# 2. Installer les dépendances (création automatique de l'environnement virtuel)
uv sync
# 3. Exécuter le robot d'extraction (exemple avec Xiaohongshu)
uv run main.py --platform xhs --lt qrcode --type search
Méthode 2 : Installation traditionnelle via venv
# 1. Créer un environnement virtuel
python -m venv venv
source venv/bin/activate # Linux/macOS
# venv\Scripts\activate # Windows
# 2. Installer les dépendances
pip install -r requirements.txt
# 3. Installer les pilotes de navigateur Playwright (requis pour le mode non-CDP)
playwright install
# 4. Exécuter le robot d'extraction
python main.py --platform xhs --lt qrcode --type search
Description des fichiers de configuration
La configuration principale se trouve dans config/base_config.py, paramètres courants :
# Sélection de plateforme : xhs | dy | ks | bili | wb | tieba | zhihu
PLATFORM = "xhs"
# Mots-clés de recherche (séparés par des virgules anglaises)
KEYWORDS = "AI编程,Python教程"
# Méthode de connexion : qrcode | phone | cookie
LOGIN_TYPE = "qrcode"
# Mode d'extraction : search | detail | creator
CRAWLER_TYPE = "search"
# Activer le proxy IP
ENABLE_IP_PROXY = False
# Activer l'extraction des commentaires
ENABLE_GET_COMMENTS = True
# Activer les commentaires de second niveau
ENABLE_GET_SUB_COMMENTS = False
# Format de stockage des données : csv | json | jsonl | sqlite | mysql | mongodb | excel
SAVE_DATA_OPTION = "jsonl"
# Nombre maximum d'extractions par plateforme
CRAWLER_MAX_NOTES_COUNT = 15
# Nombre de connexions simultanées
MAX_CONCURRENCY_NUM = 1
# Intervalle d'extraction (secondes)
CRAWLER_MAX_SLEEP_SEC = 2
Les configurations spécifiques à chaque plateforme se trouvent dans les fichiers dédiés, comme config/xhs_config.py, config/dy_config.py, etc.
Pratique d'extraction sur chaque plateforme
L'interface en ligne de commande de MediaCrawler est unifiée et concise, avec seulement trois paramètres principaux : --platform (plateforme), --lt (méthode de connexion), --type (mode d'extraction). Prenons Xiaohongshu comme exemple pour démontrer le flux d'extraction complet.
Extraction sur Xiaohongshu
1. Mode de recherche par mot-clé
# Modifier config/base_config.py
PLATFORM = "xhs"
KEYWORDS = "AI绘画,Stable Diffusion"
CRAWLER_TYPE = "search"
ENABLE_GET_COMMENTS = True # Activer l'extraction des commentaires
# Exécuter
uv run main.py --platform xhs --lt qrcode --type search
Lors de la première exécution, le navigateur s'ouvre, utilisez l'application Xiaohongshu sur votre téléphone pour scanner le code QR et vous connecter. Une fois connecté, les Cookies sont mis en cache automatiquement, pas besoin de scanner à nouveau lors des prochaines exécutions.
2. Mode de détail de publication spécifique
Configurez l'URL de la publication cible dans config/xhs_config.py :
XHS_SPECIFIED_NOTE_URL_LIST = [
"https://www.xiaohongshu.com/explore/xxxxx?xsec_token=xxx",
# Vous pouvez en ajouter plusieurs
]
Puis exécutez :
uv run main.py --platform xhs --lt qrcode --type detail
3. Mode de page du créateur
Configurez l'URL de la page du créateur dans config/xhs_config.py :
XHS_CREATOR_ID_LIST = [
"https://www.xiaohongshu.com/user/profile/xxxxx?xsec_token=xxx",
]
Exécutez :
uv run main.py --platform xhs --lt qrcode --type creator
Extraction sur Douyin
Douyin nécessite un environnement Node.js (pour la signature JS). Configurez config/dy_config.py :
# Recherche par mot-clé
KEYWORDS = "Python教程,编程入门"
# URL de vidéo spécifique
DOUYIN_SPECIFIED_NOTE_URL_LIST = [
"https://www.douyin.com/video/xxxxx",
]
Commande d'exécution :
uv run main.py --platform dy --lt qrcode --type search
Le processus de connexion de Douyin est similaire à celui de Xiaohongshu, après le scan du code QR, les Cookies sont mis en cache localement.
Extraction sur Bilibili
Bilibili est un représentant typique des plateformes vidéo, configurez config/bilibili_config.py :
# Mots-clés de recherche
KEYWORDS = "开源项目,GitHub"
# BV ID de vidéo spécifique
BILIBILI_SPECIFIED_NOTE_URL_LIST = [
"https://www.bilibili.com/video/BVxxxxxx",
]
# Page d'accueil du créateur
BILIBILI_CREATOR_ID_LIST = [
"https://space.bilibili.com/xxxxx",
]
Exécutez :
uv run main.py --platform bili --lt qrcode --type search
La structure de données de Bilibili est relativement standardisée, le taux de réussite d'extraction est élevé.
Weibo, Kuaishou, Tieba, Zhihu
La configuration des autres plateformes est similaire, il suffit de modifier le fichier de configuration correspondant dans config/, puis d'exécuter :
# 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 et Kuaishou nécessitent également un environnement Node.js.
Interface visuelle WebUI
Si vous ne voulez pas utiliser la ligne de commande, MediaCrawler fournit un WebUI :
# Terminal 1 : démarrer le backend
uv run uvicorn api.main:app --port 8080 --reload
# Terminal 2 : démarrer le frontend
cd webui
npm install
npm run dev
Accédez à http://localhost:5173/ pour configurer les paramètres, consulter les journaux et prévisualiser les données directement dans le navigateur.
Stockage et export des données
MediaCrawler prend en charge 7 formats de stockage de données, configurables via SAVE_DATA_OPTION :
CSV / JSON / JSONL
Méthode de stockage de fichiers la plus simple, les données sont enregistrées dans le répertoire data/{platform}/.
SAVE_DATA_OPTION = "csv" # ou "json" / "jsonl"
CSV convient pour ouvrir avec Excel, JSON/JSONL convient pour le traitement par programme.
SQLite
Base de données légère, sans installation supplémentaire, convient pour une utilisation sur une seule machine.
SAVE_DATA_OPTION = "sqlite"
Crée automatiquement la base de données et la structure des tables lors de la première exécution, prend en charge la déduplication.
MySQL / PostgreSQL
Recommandé pour les environnements de production, prend en charge le stockage et les requêtes de données à grande échelle.
SAVE_DATA_OPTION = "mysql" # ou "postgres"
Nécessite de configurer la connexion à la base de données dans le fichier .env :
MYSQL_DB_HOST=localhost
MYSQL_DB_PORT=3306
MYSQL_DB_USER=root
MYSQL_DB_PWD=your_password
MYSQL_DB_NAME=media_crawler
MongoDB
Base de données documentaire, convient pour stocker des données dont la structure n'est pas fixe.
SAVE_DATA_OPTION = "mongodb"
Configurez .env :
MONGODB_HOST=localhost
MONGODB_PORT=27017
MONGODB_DB_NAME=media_crawler
Excel
Sortie directe de fichiers .xlsx, pratique pour les utilisateurs non techniques.
SAVE_DATA_OPTION = "excel"
Description des champs de données
Prenons Xiaohongshu comme exemple, les données collectées comprennent :
- Informations sur la note : titre, contenu, nombre de likes, nombre de favoris, nombre de commentaires, date de publication, tags
- Informations sur les commentaires : contenu du commentaire, surnom de l'utilisateur, nombre de likes, nombre de réponses, date
- Informations sur le créateur : surnom, nombre de followers, nombre de likes reçus, nombre d'œuvres
Tous les champs sont stockés au format JSON, facilitant l'analyse ultérieure.
Utilisation avancée
Extraction programmée et mise à jour incrémentale
MediaCrawler ne contient pas de fonctionnalité de planification, mais peut être combiné avec cron ou APScheduler pour y parvenir :
# Exemple Linux crontab : extraire tous les jours à 10h
0 10 * * * cd /path/to/MediaCrawler && uv run main.py --platform xhs --lt cookie --type search
La clé de la mise à jour incrémentale réside dans l'utilisation de la déduplication de la base de données. Lors de l'utilisation du stockage SQLite ou MySQL, MediaCrawler saute automatiquement les enregistrements existants (basé sur l'ID de la note). Il suffit d'exécuter régulièrement la même configuration pour n'extraire que le nouveau contenu.
Configuration du pool de proxies IP
Pour l'extraction à grande échelle, il est recommandé d'activer le proxy IP pour éviter de déclencher le contrôle de risque de la plateforme :
# config/base_config.py
ENABLE_IP_PROXY = True
IP_PROXY_POOL_COUNT = 2 # Nombre de pools de proxies
IP_PROXY_PROVIDER_NAME = "kuaidaili" # Prend en charge kuaidaili | wandouhttp | static
Configurez la clé du fournisseur de proxy dans le fichier .env :
# Configuration KuaiDaili
KDL_SECERT_ID=your_secret_id
KDL_SIGNATURE=your_signature
KDL_USER_NAME=your_username
KDL_USER_PWD=your_password
Vous pouvez également utiliser des proxies statiques :
IP_PROXY_PROVIDER_NAME = "static"
STATIC_PROXY_URL = "http://user:password@proxy.example.com:8080"
Contrôle de la concurrence et intervalle de requêtes
# Nombre de connexions simultanées (recommandé 1-3, un nombre trop élevé peut déclencher le contrôle de risque)
MAX_CONCURRENCY_NUM = 1
# Intervalle de requêtes (secondes, aléatoire 1-2 secondes)
CRAWLER_MAX_SLEEP_SEC = 2
# Nombre maximum d'extractions par plateforme
CRAWLER_MAX_NOTES_COUNT = 15
Il est recommandé de commencer par de petites échelles pour tester, puis d'augmenter progressivement le volume d'extraction. Une concurrence et une fréquence trop élevées entraîneront des restrictions de compte ou des blocages d'IP.
Génération de nuage de mots pour les commentaires
MediaCrawler intègre une fonctionnalité de génération de nuage de mots, basée sur les données de commentaires collectées :
# config/base_config.py
ENABLE_GET_WORDCLOUD = True
# Mots personnalisés (optionnel)
CUSTOM_WORDS = {
"AI绘画": "技术",
"Stable Diffusion": "工具",
}
# Fichier de mots vides
STOP_WORDS_FILE = "./docs/hit_stopwords.txt"
Après l'exécution, un nuage de mots (format PNG) sera généré dans le répertoire data/, affichant visuellement les points chauds des commentaires.
Conformité et risques juridiques
Avis important : l'utilisation de la technologie de robot d'extraction doit respecter les lois et réglementations ainsi que les conditions de service de la plateforme.
Limites juridiques
Selon la "Loi sur la sécurité du réseau de la République populaire de Chine", la "Loi sur la sécurité des données", la "Loi sur la protection des informations personnelles" et la Collection de cas de violations légales de robots d'extraction, les comportements suivants peuvent violer la loi :
- Collecte non autorisée d'informations personnelles : données de confidentialité des utilisateurs (numéro de téléphone, carte d'identité, adresse, etc.)
- Contournement des mesures de protection technique : cassage de codes de vérification, falsification d'identité pour contourner le contrôle de risque
- Collecte à grande échelle et commercialisation : utilisation des données collectées à des fins commerciales
- Perturbation du fonctionnement normal de la plateforme : requêtes à haute fréquence entraînant une charge de serveur trop élevée
Recommandations de conformité
- N'extraire que des données publiques : ne pas collecter de contenu nécessitant des autorisations spéciales
- Contrôler la fréquence d'extraction : définir des intervalles de requêtes raisonnables pour éviter de surcharger la plateforme
- Ne pas utiliser à des fins commerciales : MediaCrawler utilise une licence NON-COMMERCIAL LEARNING LICENSE, l'utilisation commerciale est interdite
- Respecter robots.txt : respecter le protocole de robot d'extraction de la plateforme
- Protéger la confidentialité des utilisateurs : ne pas diffuser publiquement les informations personnelles des utilisateurs collectées
Clause de non-responsabilité
Le projet MediaCrawler est uniquement destiné à des fins d'apprentissage et de recherche. Les utilisateurs doivent assumer eux-mêmes toutes les responsabilités juridiques découlant de l'utilisation de cet outil. L'auteur n'est pas responsable de tout comportement illégal.
Comparaison avec d'autres outils
| Outil | Plateformes prises en charge | Stack technique | Capacité anti-détection | Courbe d'apprentissage | Cas d'utilisation |
|---|---|---|---|---|---|
| MediaCrawler | 7 grandes plateformes chinoises | Python + Playwright | Mode CDP, fort | Moyen | Extraction de données de médias sociaux chinois |
| Snscrape | Twitter/Instagram etc. | Python | Faible, facilement bloqué | Faible | Extraction légère de plateformes étrangères |
| Tweepy | Twitter uniquement | Python | Dépend de l'API officielle | Faible | Développement avec l'API officielle Twitter |
| Scrapy | Universel | Python + Twisted | À implémenter soi-même | Élevé | Robots d'extraction personnalisés à grande échelle |
| Selenium | Universel | Python + WebDriver | Moyen | Moyen | Automatisation de pages web nécessitant de l'interaction |
| Playwright | Universel | Python/Node | Fort | Moyen | Automatisation moderne de pages web |
Avantages de MediaCrawler
- Couverture tout-en-un : un seul outil prenant en charge 7 grandes plateformes chinoises, sans avoir à développer séparément pour chaque plateforme
- Pas de rétro-ingénierie : basé sur Playwright + mode CDP, contournant les algorithmes de signature complexes
- Prêt à l'emploi : fichiers de configuration clairs, paramètres de ligne de commande concis
- Communauté active : le nombre d'étoiles GitHub augmente continuellement, les réponses aux problèmes sont rapides
Quand choisir d'autres outils
- Snscrape/Tweepy : besoin d'extraire des plateformes étrangères comme Twitter/Instagram
- Scrapy : besoin de construire des robots d'extraction personnalisés à grande échelle et à haute concurrence
- Selenium/Playwright : besoin de capacités d'automatisation de pages web universelles, plutôt que d'extraction spécialisée de médias sociaux
FAQ
1. L'extraction de données par MediaCrawler est-elle légale ?
MediaCrawler est un outil d'apprentissage légal en soi, mais c'est la manière de l'utiliser qui détermine la légalité. N'extraire que des données publiques, contrôler la fréquence, ne pas utiliser à des fins commerciales, respecter les conditions de service de la plateforme, en général il n'y a pas de problème juridique. Mais la collecte d'informations personnelles, le contournement des protections techniques, l'utilisation commerciale à grande échelle peuvent violer la "Loi sur la sécurité des données" et la "Loi sur la protection des informations personnelles". Il est recommandé de consulter la Collection de cas de violations légales de robots d'extraction pour comprendre les limites juridiques.
2. Pourquoi le scan de code QR échoue-t-il ou demande-t-il fréquemment de scanner à nouveau ?
Causes courantes : - Expiration des Cookies : la plateforme nettoie régulièrement l'état de connexion, il suffit de scanner à nouveau - Déclenchement du contrôle de risque : une extraction fréquente ou un comportement anormal entraîne des restrictions de compte, il est recommandé de réduire la fréquence d'extraction - Problèmes de réseau : l'IP du proxy est instable ou marquée par la plateforme, essayez de changer d'IP ou de désactiver le proxy - Version du navigateur trop ancienne : le mode CDP nécessite Chrome 144+, mettez à jour le navigateur
3. Comment améliorer le taux de réussite de l'extraction ?
- Activer le mode CDP : utiliser un environnement de navigateur réel pour réduire le risque de détection
- Contrôler la fréquence d'extraction : définir
CRAWLER_MAX_SLEEP_SEC = 2-5, éviter les requêtes à haute fréquence - Utiliser un proxy IP : activer le pool de proxies lors de l'extraction à grande échelle pour disperser les sources de requêtes
- Un compte une IP : éviter que plusieurs comptes partagent la même IP, cela peut déclencher un contrôle de risque associé
- Extraire hors des heures de pointe : éviter les heures de pointe de la plateforme (comme 20h-22h)
4. Les données collectées peuvent-elles être utilisées pour l'analyse commerciale ?
Non. MediaCrawler utilise une licence NON-COMMERCIAL LEARNING LICENSE 1.1, interdisant explicitement l'utilisation commerciale. Si vous avez besoin d'une utilisation commerciale, il est recommandé de : - Contacter la plateforme officielle pour acheter des services de données - Utiliser l'API officielle fournie par la plateforme (comme la plateforme ouverte Weibo, la plateforme ouverte Bilibili) - Consulter un expert juridique pour vous assurer que la collecte et l'utilisation des données sont conformes aux réglementations
5. Prend-il en charge Windows/Mac/Linux ?
Prise en charge complète. MediaCrawler est basé sur Python, compatible multi-plateforme. Utilisateurs Windows, notez :
- Le séparateur de chemin utilise l'antislash \
- Commande d'activation de l'environnement virtuel : venv\Scripts\activate
- Exemple de chemin Chrome : C:\Program Files\Google\Chrome\Application\chrome.exe
Utilisateurs Mac/Linux :
- Commande d'activation de l'environnement virtuel : source venv/bin/activate
- Exemple de chemin Chrome : /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Résumé
MediaCrawler est actuellement le framework de robot d'extraction de médias sociaux chinois le plus complet, un seul outil couvrant Xiaohongshu, Douyin, Kuaishou, Bilibili, Weibo, Tieba, Zhihu - 7 grandes plateformes. Sa valeur fondamentale réside dans :
- Réduction du seuil technique : basé sur Playwright + mode CDP, pas besoin de rétro-ingénierie sur des algorithmes de chiffrement complexes
- Extraction tout-en-un : interface de ligne de commande unifiée, configuration simple, prêt à l'emploi
- Stockage flexible : prend en charge 7 formats CSV/JSON/SQLite/MySQL/MongoDB/Excel
- Capacité anti-détection : mode CDP + pool de proxies IP, réduit le risque de blocage
Mais il faut également reconnaître clairement :
- Risques juridiques : doit respecter les lois et réglementations, uniquement pour l'apprentissage et la recherche
- Contrôle de risque de la plateforme : une fréquence d'extraction trop élevée entraînera des restrictions ou des blocages
- Utilisation non commerciale : la licence interdit explicitement l'utilisation commerciale
Si vous êtes analyste de données, chercheur ou développeur, ayant besoin d'extraire des données de médias sociaux chinois pour l'apprentissage, la recherche ou des projets personnels, MediaCrawler est l'outil le plus digne d'être essayé. Mais gardez toujours à l'esprit : utilisation conforme, respect des règles de la plateforme, protection de la confidentialité des utilisateurs.
Adresse du projet : github.com/NanmiCoder/MediaCrawler
Si vous trouvez cet article utile, n'hésitez pas à donner une étoile au projet pour soutenir l'auteur !
Lectures associées :
- Analyse approfondie de Crawl4AI : robot d'extraction réseau AI open source, conçu pour LLM et RAG
- Wiseflow : outil open source léger d'extraction d'informations AI, extraction automatique d'informations structurées à partir de sites web
- Analyse approfondie de Scrapling : nouveau framework intelligent d'extraction de pages web Python