Home
Login

MediaCrawler est un outil puissant de crawling de médias sociaux multiplateforme.

NOASSERTIONPython 23.7kNanmiCoder Last Updated: 2025-06-20

MediaCrawler - Outil d'extraction de données de médias sociaux multiplateformes

Aperçu du projet

MediaCrawler est un outil puissant d'extraction de données de médias sociaux multiplateformes, développé et maintenu par NanmiCoder. Ce projet est basé sur la technologie Playwright et permet de récupérer des informations publiques provenant de plusieurs plateformes de médias sociaux populaires, notamment le contenu, les commentaires, etc.

Architecture technique

Technologies clés

  • Playwright: Framework d'automatisation de navigateur, conservant l'environnement de navigateur avec l'état de connexion.
  • Python: Langage de développement principal, version requise 3.9.6+.
  • Exécution JavaScript: Obtention de paramètres chiffrés en exécutant des expressions JS.
  • Node.js: Version requise 16+.

Principe de fonctionnement

Le projet utilise Playwright comme pont, conservant l'environnement de navigateur contextuel après une connexion réussie, et obtient certains paramètres chiffrés en exécutant des expressions JavaScript. Cette approche évite le travail complexe de reproduction du code JS de chiffrement principal, réduisant considérablement la difficulté de l'ingénierie inverse.

Exigences environnementales

Exigences système

  • Python 3.9.6+
  • Node.js 16+

Gestion des dépendances

Le projet a ajouté uv pour gérer les dépendances du projet. Vous pouvez utiliser uv pour remplacer pip traditionnel pour l'installation des dépendances, ce qui est plus pratique et rapide.

Installation et déploiement

Étapes d'installation de base

# Accéder au répertoire racine du projet
cd MediaCrawler

# Créer un environnement virtuel
python -m venv venv

# Activer l'environnement virtuel
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate

# Installer les dépendances
pip install -r requirements.txt

# Installer le navigateur Playwright
playwright install

Initialisation de la base de données (facultatif)

# Exécuter l'initialisation de la base de données (uniquement lors de la première exécution)
python db.py

Utilisation

Commandes de base

# Extraction par recherche de mots-clés
python main.py --platform xhs --lt qrcode --type search

# Extraction par ID de publication spécifié
python main.py --platform xhs --lt qrcode --type detail

# Afficher l'aide
python main.py --help

Configuration

  • Le projet ne démarre pas par défaut le mode d'extraction des commentaires.
  • Si vous devez extraire les commentaires, veuillez modifier la variable ENABLE_GET_COMMENTS dans config/base_config.py.
  • D'autres configurations de fonctionnalités peuvent également être consultées dans config/base_config.py, toutes avec des commentaires en chinois.

Stockage des données

Méthodes de stockage prises en charge

  1. Base de données MySQL: Prend en charge le stockage de base de données relationnelle (la base de données doit être créée à l'avance).
  2. Fichiers CSV: Enregistrés dans des fichiers au format CSV dans le répertoire data/.
  3. Fichiers JSON: Enregistrés dans des fichiers au format JSON dans le répertoire data/.

Avantages de la version Pro

Le projet propose également la version MediaCrawlerPro, qui présente les avantages suivants par rapport à la version open source :

  • Prise en charge de plusieurs comptes + proxy IP (fonctionnalité clé)
  • Suppression de la dépendance à Playwright, utilisation plus simple
  • Prise en charge de l'utilisation dans un environnement Linux
  • Refactorisation et optimisation du code, plus facile à lire et à maintenir
  • Découplage de la logique de signature JS, meilleure qualité du code
  • Conception d'architecture parfaite, plus facile à étendre
  • Nouveau logiciel de bureau pour le téléchargement de vidéos de médias sociaux
  • Prise en charge de la recommandation de flux d'informations de la page d'accueil multiplateforme (HomeFeed)

Déclaration légale

Clause de non-responsabilité

  • Ce projet est uniquement destiné à l'apprentissage et à la recherche, et il est interdit de l'utiliser à des fins commerciales.
  • Il est strictement interdit de l'utiliser à des fins illégales ou de violer les droits et intérêts légitimes d'autrui.
  • Les utilisateurs doivent se conformer aux lois et réglementations pertinentes et assumer leurs propres responsabilités légales.
  • Le développeur n'assume aucune responsabilité légale pour les dommages causés par l'utilisation de ce projet.

Valeur du projet

MediaCrawler n'est pas seulement un outil d'extraction de données, mais aussi un excellent projet d'apprentissage :

  1. Apprentissage de la conception d'architecture: La conception de l'architecture du projet est mature et mérite d'être étudiée et apprise.
  2. Pratique technique: Couvre l'application complète de diverses piles technologiques.
  3. Pensée d'ingénierie: Pratique d'ingénierie complète de l'organisation du code au déploiement.
  4. Technologie anti-crawler: Apprendre les solutions aux technologies anti-crawler modernes.