Accéder au contenu principal

Tutoriel Snscrape : comment scraper les réseaux sociaux avec Python

Ce tutoriel snscrape vous apprend à installer, utiliser et dépanner snscrape. Vous apprendrez à extraire des Tweets, des publications Facebook, des hashtags Instagram ou des Subreddits.
Actualisé 19 sept. 2026  · 8 min lire

Explorer avec l’IA

ChatGPTClaudePerplexity

Snscrape est une puissante bibliothèque Python qui vous permet d’extraire des données depuis différents services de réseaux sociaux (SNS) comme Facebook, Twitter, Instagram, Reddit, et bien d’autres.

Parce qu’il se concentre sur les médias sociaux, snscrape excelle là où les outils de scraping web généralistes peinent parfois. Les plateformes sociales ont souvent des structures de données et des API spécifiques que snscrape maîtrise.

Résultat : une extraction plus propre et plus fiable que les scrapers génériques, qui doivent souvent contourner ces particularités de plateforme.

Si vous souhaitez en savoir plus sur le scraping générique, découvrez ces cours sur le web scraping en Python et le web scraping en R.

Snscrape en bref

Voici un aperçu de ce que nous pouvons extraire avec snscrape :

  • Profils utilisateurs : Récupérez des informations publiques de profil sur différentes plateformes : bio, nombre d’abonnés, historique des publications.
  • Publications et contenus : Scrapez des tweets, des posts Instagram, des soumissions Reddit, etc., selon la plateforme. Vous pouvez cibler des hashtags, des lieux ou des recherches spécifiques pour affiner votre collecte.
  • Groupes et communautés : Explorez des groupes Facebook, des subreddits Reddit ou des canaux Telegram pour analyser les discussions et les interactions de groupe.

Voici un récapitulatif des types de données pris en charge par plateforme (d’après la documentation officielle de snscrape) :

Plateforme

Données prises en charge

Facebook

Profils utilisateurs, Groupes, Communautés

Instagram

Profils utilisateurs, Hashtags, Lieux

Mastodon

Profils utilisateurs, Toots (isolés ou fils)

Reddit

Utilisateurs, Subreddits, Recherches

Telegram

Canaux

Twitter

Utilisateurs, Profils utilisateurs, Hashtags, Recherches, Tweets (isolés ou fils), Listes, Communautés, Tendances

VKontakte

Profils utilisateurs

Weibo (Sina Weibo)

Profils utilisateurs

Comment installer Snscrape

Pour démarrer avec snscrape, nous devons d’abord l’installer via pip ou conda :

$ pip install snscrape

Si vous utilisez conda, remplacez simplement le mot pip par conda dans l’extrait ci-dessus.

Snscrape nécessite Python 3.8 ou supérieur, et vous devrez peut-être installer aussi les bibliothèques libxml2 et libxslt.

Une fois l’installation terminée, nous pouvons commencer à extraire des données des réseaux sociaux.

Comment utiliser Snscrape

L’une des forces de snscrape est son interface en ligne de commande (CLI), qui simplifie et accélère la récupération de données sociales.

Commençons par un exemple de scraping de données Facebook.

Important avant de poursuivre : si vous envisagez de reproduire ces actions, lisez les conditions d’utilisation et le fichier robots.txt à jour. Les dernières conditions peuvent indiquer que la collecte automatisée de données, y compris le scraping, n’est pas autorisée sans consentement écrit préalable.

Supposons maintenant que nous voulions collecter les publications d’une page Facebook spécifique.

Vous pouvez utiliser la CLI de snscrape pour cela :

$ snscrape facebook-page "page_url" > posts.txt

Dans cet exemple, remplacez “page_url” par l’URL de la page Facebook à extraire. Le résultat sera enregistré dans un fichier nommé posts.txt.

Si vous êtes comme moi, vous préférerez peut-être des scripts pour les tâches complexes ou répétitives. Bonne nouvelle : vous pouvez utiliser snscrape facilement dans un script Python :

import os

# Définir l'URL de la page Facebook
page_url = "your_page_url_here"

# Exécuter la commande snscrape pour récupérer les publications
os.system(f"snscrape facebook-page {page_url} > posts.txt")

# Les publications sont enregistrées dans le fichier 'posts.txt'
print(f"Les publications de '{page_url}' ont été enregistrées dans 'posts.txt'.")

Gardez à l’esprit que de nombreuses plateformes sociales, dont Facebook, découragent généralement le scraping non autorisé et déploient des moyens pour le contrer. Vous pouvez en savoir plus sur la position de Facebook dans cet article.

Snscrape : techniques avancées

Snscrape propose des fonctionnalités avancées pour affiner la collecte. Par exemple, vous pouvez préciser le nombre de résultats à extraire, filtrer par plage de dates ou cibler des utilisateurs et hashtags spécifiques.

Voici un exemple pour extraire des publications sur une période donnée :

$ snscrape facebook-page "page_url" --since 2023-01-01 --until 2023-12-31 > posts.txt

Nous pouvons aussi extraire des données d’autres plateformes comme Reddit avec des commandes similaires adaptées à la syntaxe de chaque plateforme. Comme indiqué plus haut, snscrape permet actuellement d’extraire depuis :

  1. Facebook
  2. Instagram
  3. Mastodon
  4. Reddit
  5. Telegram
  6. Twitter
  7. VKontakte
  8. Weibo (Sina Weibo)

Options globales

Snscrape offre plusieurs options globales pour personnaliser le scraping.

Par exemple, si vous avez besoin de JSON Lines plutôt que de .txt, utilisez l’option globale jsonl pour enregistrer les résultats dans ce format :

$ snscrape facebook-page "page_url" --jsonl > posts.jsonl

Autre exemple : limiter le nombre de résultats collectés avec l’option max-results. C’est utile si vos ressources sont limitées ou si la page visée contient un grand volume de données :

$ snscrape facebook-page "page_url" --max-results 50 > limited_posts.txt

Vous pouvez également extraire des informations supplémentaires liées à chaque publication, comme les profils utilisateurs et les hashtags, en collectant les entités :

$ snscrape facebook-page "page_url" --with-entity > posts_with_entity.txt

Cas d’usage de Snscrape

La capacité de snscrape à extraire des données des réseaux sociaux ouvre la voie à de nombreux usages, aussi bien pour la recherche que pour les entreprises.

Recherche et enseignement supérieur

Le scraping des réseaux sociaux offre notamment les cas d’usage suivants pour la recherche et le monde académique :

  • Social listening et analyse de sentiment : Snscrape permet aux chercheurs d’analyser l’opinion publique et le sentiment autour d’événements précis — des conférences internationales et débats politiques aux catastrophes naturelles. Ces données aident à comprendre la perception du public, à repérer les signaux faibles et à éclairer la prise de décision. Les informations extraites peuvent aussi être utiles aux traders pour anticiper les réactions des marchés.
  • Analyse de réseaux et détection de communautés : En extrayant les liens et interactions sociales, les chercheurs peuvent cartographier les réseaux, identifier les utilisateurs influents et comprendre la circulation de l’information. Ces connaissances servent à étudier les mouvements en ligne, l’influence sociale et la propagation des contenus.

Entreprises et marketing

L’extraction de données sociales peut aider les entreprises à :

  • Surveiller la marque et gérer la réputation : Les entreprises peuvent s’appuyer sur snscrape pour suivre les mentions en ligne et mesurer le sentiment client. Elles identifient ainsi les crises potentielles, répondent plus vite aux préoccupations et évaluent l’impact de leurs campagnes.
  • Analyser la concurrence et le marché : En extrayant des données depuis les profils concurrents et les forums sectoriels, les entreprises obtiennent des insights sur les stratégies des concurrents, les préférences des clients et les tendances émergentes. Ces éléments permettent d’affiner la stratégie marketing, de bâtir des avantages compétitifs et d’optimiser l’offre produit.

Considérations éthiques

Respecter la vie privée des utilisateurs et maintenir des standards éthiques est essentiel lors de toute collecte de données.

Avant tout projet de scraping, lisez les conditions d’utilisation de la plateforme et prévoyez comment protéger la confidentialité des données des utilisateurs. Il vous appartient de veiller à ce que vos activités respectent les politiques d’usage des plateformes, notamment les limites de taux, les restrictions d’accès et les autorisations d’usage de contenus. En respectant ces conditions, vous évitez des risques juridiques et maintenez des pratiques de collecte responsables.

Les considérations éthiques incluent aussi la gestion et le stockage responsables des données extraites. Pour protéger les informations sensibles, mettez en place des pratiques solides : chiffrement, anonymisation et protocoles de stockage sécurisé. Une fois les données collectées, il vous incombe de prévenir tout mésusage.

Snscrape : problèmes et dépannage

Même si snscrape est robuste pour extraire des données sociales, différents problèmes peuvent survenir.

Erreurs d’authentification

Vous pouvez rencontrer des erreurs liées à des noms d’utilisateur, mots de passe ou clés API invalides (selon la plateforme).

Vérifiez soigneusement vos identifiants pour éviter les fautes de frappe ou les jetons expirés. Consultez aussi la documentation officielle pour connaître les exigences d’authentification propres à chaque plateforme ciblée.

Limitation de taux

Les plateformes sociales appliquent souvent des limites de taux pour éviter un scraping excessif. Vous pourriez voir des messages signalant que vous avez dépassé le nombre de requêtes autorisées sur une période donnée.

Tenez compte de ces limites et ajustez la cadence en conséquence. Snscrape propose des options comme --wait pour introduire des pauses entre les requêtes. Pensez aussi à étaler vos extractions par lots plus petits dans le temps.

Erreurs d’analyse des données

Des changements inattendus dans la structure ou la mise en page d’une plateforme peuvent provoquer des erreurs d’analyse, lorsque snscrape n’arrive plus à interpréter correctement les données.

Restez à jour avec les dernières versions de snscrape, les développeurs corrigeant souvent ces problèmes via des mises à jour. Consultez le dépôt GitHub pour les problèmes signalés et les solutions de contournement.

Accès refusé

Dans certains cas, la plateforme peut bloquer totalement les tentatives de scraping.

Respectez les conditions d’utilisation de chaque plateforme et évitez le scraping excessif ou ciblant des données sensibles. Si le scraping est strictement interdit, envisagez d’autres sources de données ou adaptez votre approche.

Dépannage

Voici quelques conseils utiles pour un scraping plus fluide :

  • Commencer petit : Démarrez par de petites tâches pour tester vos commandes et repérer les problèmes potentiels avant de viser des volumes plus importants.
  • Lire la documentation : La documentation officielle de snscrape détaille les options spécifiques et les bonnes pratiques. Référez-vous-y régulièrement pour dépanner et optimiser.
  • Rejoindre la communauté : La communauté snscrape sur GitHub est une excellente ressource pour trouver des solutions aux problèmes courants et apprendre des retours d’expérience.

Conclusion

Dans ce tutoriel, nous avons couvert les fondamentaux de snscrape pour extraire des données depuis différents réseaux sociaux. Nous avons vu l’installation et l’usage via CLI et Python, ainsi que des cas d’usage, des considérations éthiques et des techniques de dépannage.

Poursuivez votre apprentissage avec des thèmes plus avancés comme l’analyse de sentiment, l’éthique des données ou l’analyse de données sociales :


Amberle McKee's photo
Author
Amberle McKee
LinkedIn

Je suis titulaire d'un doctorat et j'ai 13 ans d'expérience dans le traitement des données dans un environnement de recherche biologique. Je crée des logiciels dans plusieurs langages de programmation, notamment Python, MATLAB et R. Je suis passionné par le partage de mon amour de l'apprentissage avec le monde.

Sujets
Science des données
Python

Apprenez le web scraping avec DataCamp !

Cours

Web Scraping en Python

4 h
94.1K
Apprenez à récupérer et à analyser des informations provenant d'internet à l'aide de la bibliothèque Python scrapy.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow