TOP  

Snscrape : Qu'est-ce que c'est, comment l'utiliser, et plus encore !

Si vous avez joué avec les données des médias sociaux, vous avez peut-être rencontré un outil appelé "snscrape".

En tant que personne qui utilise fréquemment divers outils logiciels, j'ai trouvé que snscrape était un outil formidable pour certaines tâches, en particulier lorsque combinée à une procuration.

Voyons donc ce qu'est snscrape, comment il fonctionne et pourquoi il peut changer la donne pour vos flux de collecte de données.

TL;DR :

  • Snscrape est un outil Python permettant de récupérer des médias sociaux sans utiliser d'API.  
  • Il fonctionne avec Twitter/X, Facebook, Instagram, Redditet bien d'autres choses encore.  
  • Vous pouvez extraire des tweets, des profils d'utilisateurs, des hashtags et les enregistrer au format CSV.  
  • Pour le scraping à grande échelle, utilisez des proxys afin d'éviter les blocages et les limites de débit.
Guide ultime de Snscrape

Table des matières

  1. Qu'est-ce que Snscrape ?
  2. Comment fonctionne Snscrape ?
  3. Comment utiliser Snscrape
  4. Quelles données pouvez-vous extraire de Twitter avec Snscrape ?
  5. Cas d'utilisation de Snscrape
  6. Comment ajouter un proxy à Snscrape
  7. Pourquoi utiliser un proxy avec Snscrape ?
  8. Alternatives à Snscrape
  9. Snscrape est-il légal ?
  10. Questions fréquemment posées sur Snscrape
  11. Conclusion

1. Qu'est-ce que Snscrape ?

grattage
Capture d'écran via GitHub

Snscrape est une bibliothèque Python qui vous permet de récupérer des données à partir de plateformes de médias sociaux comme X (Twitter), Facebook et Instagram.

Contrairement à de nombreux autres outils de scraping, snscrape ne nécessite pas de clé API, ce qui le rend utilisable par un plus grand nombre d'utilisateurs, y compris ceux qui n'ont pas le savoir-faire technique nécessaire pour utiliser les API.

Avantages de Snscrape

Snscrape présente plusieurs avantages qui méritent d'être soulignés :

  1. Aucune clé API n'est nécessaire: Il s'agit d'un avantage important. La plupart des plateformes de médias sociaux exigent une clé API pour le scraping de données, ce qui peut être un problème pour de nombreux utilisateurs. C'est l'une des raisons pour lesquelles de nombreuses personnes préfèrent Snscrape.
  2. Flexibilité: Vous pouvez adapter vos requêtes de recherche pour qu'elles soient aussi larges ou aussi spécifiques que vous le souhaitez. Cette flexibilité est cruciale pour les recherches qui nécessitent une collecte de données nuancées.
  3. Facilité d'utilisation: Pour ceux qui sont familiers avec Python, snscrape est facile à utiliser. Ses commandes et sa structure simples permettent de l'intégrer facilement dans votre flux de collecte de données.

2. Comment fonctionne Snscrape ?

L'utilisation de snscrape est relativement simple, surtout si vous avez une connaissance de base de Python.

L'outil fonctionne en récupérant des données accessibles au public sur les sites web des médias sociaux. Par exemple, vous pouvez l'utiliser pour collecter des tweets contenant des mots-clés spécifiques, des hashtags ou provenant de certains utilisateurs.

Voici un exemple simple :

Si vous voulez gratter les tweets contenant le hashtag #technology, vous écririez un script Python utilisant snscrape pour rechercher ce hashtag et extraire les tweets pertinents.

Voici comment fonctionne Snscrape :

  • Snscrape : Vous exécutez Snscrape sur votre ordinateur pour collecter des messages publics à partir de plateformes telles que X (Twitter).
  • Proxy : Un proxy cache votre IP et permet d'éviter les blocages lors du scraping.
  • Web : Snscrape envoie des requêtes au site web et charge des données publiques, comme des tweets.
  • Données : Il transforme ensuite ces données en un format propre et lisible, tel que JSON ou CSV, que vous pouvez utiliser.
comment fonctionne Snscrape.

3. Comment utiliser Snscrape

Pour commencer, vous aurez besoin d'une configuration de base comprenant l'installation de Python sur votre ordinateur. Vous pouvez ensuite installer snscrape à l'aide de pip, le programme d'installation de Python. Une fois installé, vous pouvez commencer à écrire des scripts pour récupérer les données dont vous avez besoin.

Voici un guide simple pour vous aider à utiliser cet outil puissant.

a. Installation

Tout d'abord, vous devez installer snscrape. Ouvrez votre invite de commande ou votre terminal et tapez la commande suivante :

code bashCopy

pip install snscrape

Cette commande utilise le gestionnaire de paquets de Python, pip, pour télécharger et installer le scraper.

b. Écrire un script de base

Une fois que vous l'avez installé, vous pouvez commencer à écrire un script Python pour récupérer des données. Imaginons que vous souhaitiez collecter des tweets contenant un hashtag spécifique. Voici un exemple de base :

import snscrape.modules.twitter as sntwitter # Définition du nombre de tweets à récupérer max_tweets = 100 # Utilisation de TwitterSearchScraper pour récupérer les données et ajouter les tweets à la liste for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()) : if i > max_tweets : break print(tweet.content)

Ce script récupère les 100 derniers tweets contenant le hashtag #technology.

c. Exécutez votre script

Enregistrez votre script sous la forme d'un fichier .py et exécutez-le à l'aide de Python. Le script s'exécutera, et vous devriez commencer à voir des tweets imprimés dans votre invite de commande ou votre terminal.

d. Comment personnaliser votre requête

Vous pouvez facilement modifier votre requête de recherche. Par exemple, si vous souhaitez récupérer les tweets d'un utilisateur spécifique, vous pouvez modifier la requête dans l'onglet TwitterSearchScraper méthode :

sntwitter.TwitterSearchScraper('from:username')

Remplacer Nom d'utilisateur avec l'identifiant Twitter de l'utilisateur dont vous souhaitez récupérer les tweets.

e. Traitement des données

Les données que vous récupérez peuvent être stockées dans différents formats. Par exemple, vous pouvez enregistrer les tweets dans un fichier CSV pour faciliter l'analyse. Vous pouvez modifier votre script pour écrire les données récupérées dans un fichier :

import csv # ... [code précédent] # Ouvrir/créer un fichier pour y ajouter des données csvFile = open('scraped_tweets.csv', 'a', newline='', encoding='utf8') # Utiliser le scripteur csv csvWriter = csv.writer(csvFile) csvWriter.writerow(['id', 'date', 'tweet']) for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()) : if i > max_tweets : break csvWriter.writerow([tweet.id, tweet.date, tweet.content]) csvFile.close()

Ce script enregistre l'ID du tweet, la date et le contenu dans un fichier CSV nommé scraped_tweets.csv.

Obtenir des résultats cohérents 📊

Fatigué des réponses incohérentes de snscrape ? Les IP résidentielles propres réduisent les captchas et les demandes bloquées.

Améliorer la stabilité du scraping

4. Quelles données pouvez-vous extraire de Twitter avec Snscrape ?

Snscrape peut vous aider à extraire un large éventail de données de X (Twitter). Voici un aperçu des différents points de données que vous pouvez extraire avec snscrape :

a. Tweets

L'utilisation principale de snscrape est la collecte de tweets. Cela inclut :

  • Contenu du tweet: Le texte du tweet.
  • Tweet ID: Un identifiant unique pour chaque tweet.
  • Date et heure: Date à laquelle le tweet a été posté.
  • URL: Tous les liens inclus dans le tweet.

b. Informations sur l'utilisateur

Snscrape vous permet de recueillir des informations sur les utilisateurs de Twitter, telles que :

  • Nom d'utilisateur: L'adresse Twitter de l'utilisateur.
  • ID de l'utilisateur: Un identifiant unique pour chaque utilisateur.
  • Description du profil: La bio de l'utilisateur ou la description de son profil.
  • Localisation: Le lieu indiqué par l'utilisateur dans son profil (s'il est disponible).

c. Mesures de l'engagement

Bien que snscrape ne récupère pas directement les mesures d'engagement comme les likes ou les retweets, vous pouvez tout de même les collecter :

  • Nombre de Retweet: Le nombre de fois qu'un tweet a été retweeté (pour certains tweets).
  • Compte de réponse: Le nombre de réponses à un tweet (pour certains tweets).

d. Hashtags et mentions

Snscrape peut extraire des éléments spécifiques dans les tweets, notamment :

  • Hashtags: Tous les hashtags utilisés dans le tweet.
  • Mentions: Noms d'utilisateur des autres comptes X (Twitter) mentionnés dans le tweet.

e. Contenu des médias

Si un tweet contient des médias, snscrape peut vous aider à les identifier :

  • URL des médias: Liens vers des images ou des vidéos jointes au tweet.

f. Requêtes de recherche avancée

Snscrape est capable de gérer des requêtes de recherche avancées, vous permettant de récupérer des tweets basés sur :

  • Mots clés: Tweets contenant des mots ou des phrases spécifiques.
  • Plages de dates: Tweets postés dans un laps de temps donné.
  • Situation géographique: Tweets provenant d'un lieu géographique spécifique (si les données de localisation sont disponibles).

Chaque tweet comprendra des champs tels que :

  • id: ID unique du tweet
  • date: Date de publication du tweet
  • contenu: Texte intégral du tweet
  • utilisateur.nomd'utilisateur: Qui l'a posté
  • retweetCount, likeCount, etc.

g. Données sur les fils de discussion et les conversations

Vous pouvez également utiliser snscrape pour suivre les fils de conversation et en extraire les informations :

  • Tweets conversationnels: Réponses et tweets cités, permettant de suivre les conversations.

5. Cas d'utilisation de Snscrape : Du plus simple au plus avancé

Snscrape a un large éventail d'applications. Voici comment les gens le mettent à l'œuvre, qu'il s'agisse de grattage quotidien ou d'installations automatisées plus avancées.

a. Cas d'utilisation quotidiens de Snscrape

Voici les façons les plus courantes dont les utilisateurs tirent parti de snscrape pour des tâches ponctuelles ou des projets à petite échelle :

  • Étude de marché: Scraper les mentions de produits, de marques ou de tendances pour comprendre comment les gens en parlent en temps réel.
  • Recherche universitaire: Collecter des ensembles de données pour des études sur le discours politique, le comportement en ligne ou l'opinion publique.

Vous n'avez pas besoin d'une installation massive : il suffit d'un script Python et d'une requête de recherche claire.

b. Automatiser les scraps avec Cronjobs

Si vous souhaitez collecter des données en continu (quotidiennement, toutes les heures ou toutes les semaines), vous pouvez planifier votre script snscrape à l'aide de cronjobs (Linux/macOS) ou du planificateur de tâches de Windows.

C'est la solution idéale pour capturer des mentions quotidiennes ou horaires ou pour créer des séries de données temporelles afin de dégager des tendances ou des sentiments.

Conseil : Assurez-vous que votre script effectue une rotation des noms de fichiers et gère les limites de débit si vous voulez éviter les écrasements de données ou les blocages de serveur.

c. Le scraping géociblé pour des informations locales

Besoin de données géolocalisées ? Snscrape prend en charge les filtres géographiques en utilisant "près de :" et "à l'intérieur de :" dans votre requête.

Exemple:

Il peut s'agir par exemple d'un suivi des interventions régionales en cas de catastrophe ou de l'appréciation d'une marque ou de mentions spécifiques à une ville.

Vous pouvez même combiner cela avec depuis : et jusqu'à.. : pour les données spécifiques à une date.

d. Suivi des fils et pipelines de science des données

Pour des analyses plus complexes, snscrape est fréquemment utilisé :

  • Récupérer des fils de conversation entiers (y compris les réponses et les citations)
  • Construire des ensembles de données étiquetées pour le NLP, la modélisation de sujets ou l'apprentissage automatique
  • Rationaliser l'extraction de tweet dans un DataFrame pandas pour le prétraitement

Exemple:

De la classification des sentiments au regroupement des conversations par thème, Snscrape est l'un des favoris de l'équipe de recherche. science des données et la communauté des chercheurs.

6. Comment ajouter un proxy à Snscrape

Ajout une procuration à snscrape peut décupler vos capacités de scraping. Il assure l'anonymat et permet de contourner les limites de débit ainsi que les contenus géo-bloqués.

Voici un guide étape par étape sur l'intégration d'un proxy avec snscrape :

a. Choisir un service Proxy

Sélectionnez un service proxy fiable. Il existe plusieurs types de proxy. disponibles, y compris des services gratuits et payants. Ces derniers offrent généralement une meilleure fiabilité et une plus grande rapidité. Je suggère les types de proxy suivants à utiliser avec Snscrap.

b. Obtenir les informations relatives à votre procuration

Une fois que vous avez choisi un service proxy, rassemblez les informations nécessaires : l'adresse du serveur proxy, le numéro de port et, le cas échéant, le nom d'utilisateur et le mot de passe.

🚨 Tête en l'air : Snscrape ne supporte pas nativement l'injection de session, l'utilisation du proxy est donc indirecte via l'objet session de votre requête.

c. Configurer votre script Python

Ensuite, vous devrez modifier votre script Python pour acheminer les requêtes snscrape à travers le proxy.

Voici un exemple de la manière de procéder :

import snscrape.modules.twitter as sntwitter import requests # Proxy configuration proxies = { 'http' : 'http://username:password@proxyserver:port', 'https' : 'https://username:password@proxyserver:port', } # Créer une session et la configurer pour utiliser le proxy session = requests.Session() session.proxies.update(proxies) # Utiliser snscrape avec la session for tweet in sntwitter.TwitterSearchScraper('keyword', session=session).get_items() : print(tweet.content)

Remplacer Nom d'utilisateur, mot de passe, serveur proxys, et port avec les détails de votre procuration. Les mot-clé doit être remplacé par votre terme de recherche.

7. Pourquoi utiliser un proxy avec Snscrape ?

  1. Contourner les limites de taux: Les proxys peuvent aider à éviter d'atteindre les limites de débit de X (Twitter) en répartissant les demandes sur différentes adresses IP.
  2. Éviter les interdictions d'IP: Le scraping régulier à partir de la même adresse IP peut conduire à des interdictions. Les proxys atténuent ce risque en rotation de l'adresse IP.
  3. Accéder à des contenus géographiquement restreints: Les proxys peuvent fournir des adresses IP à partir de différents endroits, ce qui permet d'accéder à des contenus spécifiques à une région.
  4. Anonymat et vie privée: L'utilisation d'un proxy masque votre véritable adresse IP, ce qui renforce votre vie privée et réduit le risque d'être traqué.
  5. Amélioration des performances: Les proxys peuvent permettre une récupération plus rapide des données et réduire les risques de surcharge des serveurs en répartissant la charge.

8. Alternatives à Snscrape

Bien que snscrape soit un outil robuste pour le scraping de données de médias sociaux, il existe des situations où vous pourriez avoir besoin d'une alternative (meilleurs outils de scraping web). Qu'il s'agisse d'exigences différentes en matière de fonctionnalités, de prise en charge de plateformes ou de facilité d'utilisation, il peut être utile de consulter d'autres outils. Voici quelques alternatives notables à snscrape :

OutilMeilleur pourSans API ?Besoin de codage ?
SnscrapeTwitter/X scraping
Twint (en anglais)Grands ensembles de données Twitter
FerrailleGrattage général de sites web
OctoparseScraping basé sur une interface graphique (pas de codage)
ParseHubPages complexes (lourdes JS/AJAX)

a. Twint

Twint (en anglais) est une autre bibliothèque Python populaire pour grattage de Twitter data. Il est connu pour sa capacité à récupérer un grand nombre de tweets sans avoir besoin de l'API de Twitter ou d'une quelconque authentification. Twint peut récupérer une grande variété d'informations, notamment des tweets, des followers, des likes, etc. Il est particulièrement utile pour ceux qui ont besoin de rassembler de grands ensembles de données à partir de Twitter.

b. Ferraille

Ferraille
Crédit photo : Scrapy

Ferraille est un modèle plus général de web scraping en Python. Bien qu'il ne soit pas spécifiquement conçu pour les médias sociaux, il est incroyablement puissant pour extraire des données de n'importe quel site web. Scrapy est adapté aux tâches de scraping complexes et offre une personnalisation et un contrôle étendus sur vos travaux de scraping. Il est idéal pour les utilisateurs qui ont des compétences en programmation plus avancées et qui ont besoin de récupérer des données à partir de diverses sources.

c. BeautifulSoup

BeautifulSoup est une bibliothèque Python pour l'analyse des documents HTML et XML. Elle est souvent utilisée en combinaison avec une bibliothèque de requêtes pour extraire des données de pages web. Bien qu'elle nécessite plus de configuration que snscrape, BeautifulSoup offre une grande flexibilité et permet d'extraire des données de pages web qui ne sont pas nécessairement des plateformes de médias sociaux.

d. Octoparse

Octoparse
Crédit photo : Octoparse

Octoparse est un outil d'extraction de données convivial, fonctionnant par pointer-cliquer, qui ne nécessite aucune compétence en matière de codage. Il convient aux non-programmeurs ou à ceux qui préfèrent une interface graphique pour les tâches de scraping. Octoparse peut gérer l'extraction de données simples et complexes à partir de différents types de pages web, y compris les sites de médias sociaux.

e. Mineur de données

Dataminer
Crédit photo : Data Miner

Data Miner est une extension de navigateur Chrome et Edge qui vous permet de récupérer des données à partir de pages web et dans une variété de formats de fichiers, y compris Excel et Google Sheets. Elle est très conviviale et convient à ceux qui ont besoin de récupérer des données rapidement sans écrire de code.

f. ParseHub

Parsehub
Crédit photo : ParseHub

ParseHub est un outil d'extraction de données visuelles doté d'une technologie d'apprentissage automatique qui permet d'identifier, d'extraire et de transformer les données des pages Web. Consultez notre ParseHub critique. Il s'agit d'un outil puissant pour le scraping de sites web complexes et peut gérer des sites web avec JavaScript et AJAX.

Oui-snscrape ne récupère que les données visibles publiquementIl permet d'obtenir des informations sur les tweets, les noms d'utilisateur, les hashtags et les horodatages. Il fait pas d'accéder à des messages privés ou à du contenu protégé par un identifiant.

Cela dit, la légalité n'est pas toujours tout blanc ou tout noir. L'utilisation de données publiques est généralement légale, les plateformes comme Twitter/X et Instagram ont des conditions d'utilisation qui peuvent interdire l'accès automatisé.

🛡️ Comment utiliser snscrape de manière responsable ?:

  • Ne pas rechercher derrière les paywalls ou les logins
  • Respecter les limites de taux et l'intégrité du site
  • Vérifiez toujours les dernières politiques de la plateforme

En savoir plus : Le web scraping est-il légal ?

10. Questions fréquemment posées sur Snscrape

À quoi sert snscrape ?

Snscrape est un outil basé sur Python qui permet de récupérer des données publiques sur des plateformes telles que Twitter (désormais X), Instagram, Facebook et Reddit. Il est couramment utilisé pour collecter des tweets, suivre des hashtags, surveiller l'activité des utilisateurs ou construire des ensembles de données pour la recherche et l'analyse de données, le tout sans avoir besoin d'une clé API.

snscrape est-il meilleur que l'API Twitter ?

Snscrape est plus adapté au scraping occasionnel ou flexible des données publiques de Twitter, car il ne nécessite pas de clé API et comporte moins d'étapes de configuration ou de limites de débit. Cependant, il ne dispose pas de l'accès complet et des points d'extrémité structurés offerts par l'API officielle de Twitter. L'API est donc plus adaptée aux entreprises ou aux cas d'utilisation à grande échelle.

snscrape fonctionne-t-il pour Instagram ou Facebook ?

Snscrape a un support limité pour Instagram et Facebook. Le scraping de ces plateformes est moins fiable en raison des changements fréquents de mise en page et des mesures anti-bots. Snscrape fonctionne mieux avec Twitter et Reddit, tandis que le scraping de Facebook et d'Instagram peut être interrompu plus souvent et nécessiter des outils supplémentaires tels que des proxys.

Peut-on être bloqué en utilisant snscrape ?

Oui, vous pouvez être bloqué si vous faites du scrape de manière trop agressive ou si vous envoyez trop de demandes en peu de temps. Pour éviter cela, nous vous recommandons vivement de retarder les demandes ou d'utiliser des services de proxy pour alterner les IP et contourner les limites de débit. Tout cela en conservant l'accès aux données publiques.

11. Le mot de la fin

Snscrape est un excellent outil pour l'extraction de données des médias sociaux. Avec des connaissances de base en Python, vous pouvez personnaliser votre extraction de données pour répondre à un large éventail de besoins.

Veillez simplement à utiliser snscrape de manière correcte et éthique afin d'éviter tout problème.

Exécuter Snscrape à l'échelle 🚀

De grands ensembles de données signifient plus de requêtes. Évitez les interruptions ou les blocages d'IP en répartissant le trafic à l'aide de proxys résidentiels rotatifs.

Gratter sans limites

Maintenant, amusons-nous !

Êtes-vous un Dieu du grattage ou un Noob total ?

Répondez au questionnaire amusant suivant et découvrez votre personnalité en matière de grattage.

A propos de l'auteur Deyan Georgiev

Avatar de Deyan Georgiev

Deyan Georgiev est un expert en logiciels et en technologies, spécialisé dans la confidentialité en ligne et la protection des données. Il est certifié expert en cybersécurité et en IoT par l'Université de Londres et l'Université de Géorgie. De plus, Deyan est un fervent défenseur de la protection des données personnelles. Il est également titulaire d'une spécialisation en protection de la vie privée de l'Infosec.

Rejoignez les 40 000 abonnés à la lettre d'information

Recevez des mises à jour régulières concernant les cas d'utilisation de Seedbox, les guides techniques, les proxies ainsi que les conseils en matière de sécurité et de protection de la vie privée. des conseils en matière de confidentialité et de sécurité.

Dis ce que tu penses

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *