Exploration de données Twitter : un guide pour l'analyse de données volumineuses à l'aide de Python
Publié: 2022-03-11Les mégadonnées sont partout. Point final. Dans le processus de gestion d'une entreprise prospère de nos jours, vous allez probablement le rencontrer, que cela vous plaise ou non.
Que vous soyez un homme d'affaires essayant de rattraper son retard ou un prodige du codage à la recherche de son prochain projet, ce didacticiel vous donnera un bref aperçu de ce qu'est le Big Data. Vous apprendrez comment cela s'applique à vous et comment vous pouvez démarrer rapidement via l'API Twitter et Python.
Qu'est-ce que le Big Data ?
Le Big Data, c'est exactement ce que cela ressemble : beaucoup de données. Seul, un seul point de données ne peut pas vous donner beaucoup d'informations. Mais des téraoctets de données, combinés à des modèles mathématiques complexes et à une puissance de calcul effrénée, peuvent créer des informations que les êtres humains ne sont pas capables de produire. La valeur que l'analyse de données volumineuses fournit à une entreprise est intangible et dépasse les capacités humaines chaque jour.
La première étape de l'analyse du Big Data consiste à collecter les données elles-mêmes. C'est ce qu'on appelle «l'exploration de données». Les données peuvent provenir de n'importe où. La plupart des entreprises traitent des gigaoctets de données sur les utilisateurs, les produits et la localisation. Dans ce didacticiel, nous allons explorer comment nous pouvons utiliser des techniques d'exploration de données pour collecter des données Twitter, ce qui peut être plus utile que vous ne le pensez.
Par exemple, supposons que vous exploitiez Facebook et que vous souhaitiez utiliser les données de Messenger pour fournir des informations sur la manière dont vous pouvez mieux faire de la publicité auprès de votre public. Messenger compte 1,2 milliard d'utilisateurs actifs par mois. Dans ce cas, les mégadonnées sont des conversations entre utilisateurs. Si vous deviez lire individuellement les conversations de chaque utilisateur, vous seriez en mesure d'avoir une bonne idée de ce qu'ils aiment et de leur recommander des produits en conséquence. En utilisant une technique d'apprentissage automatique connue sous le nom de traitement du langage naturel (NLP), vous pouvez le faire à grande échelle avec l'ensemble du processus automatisé et laissé aux machines.
Ce n'est là qu'un des innombrables exemples de la façon dont l'apprentissage automatique et l'analyse de données volumineuses peuvent ajouter de la valeur à votre entreprise.
Pourquoi les données Twitter ?
Twitter est une mine d'or de données. Contrairement à d'autres plateformes sociales, presque tous les tweets des utilisateurs sont entièrement publics et récupérables. C'est un énorme avantage si vous essayez d'obtenir une grande quantité de données pour exécuter des analyses. Les données Twitter sont également assez spécifiques. L'API de Twitter vous permet de faire des requêtes complexes comme extraire chaque tweet sur un certain sujet au cours des vingt dernières minutes, ou extraire les tweets non retweetés d'un certain utilisateur.
Une simple application de ceci pourrait être l'analyse de la façon dont votre entreprise est reçue par le grand public. Vous pouvez collecter les 2 000 derniers tweets qui mentionnent votre entreprise (ou n'importe quel terme que vous aimez) et y exécuter un algorithme d'analyse des sentiments.
Nous pouvons également cibler les utilisateurs qui vivent spécifiquement dans un certain emplacement, connu sous le nom de données spatiales. Une autre application pourrait être de cartographier les zones du globe où votre entreprise a été le plus mentionnée.
Comme vous pouvez le voir, les données de Twitter peuvent être une grande porte d'entrée sur les idées du grand public et sur la façon dont il reçoit un sujet. Cela, combiné à l'ouverture et à la généreuse limitation de débit de l'API de Twitter, peut produire des résultats puissants.
Présentation des outils
Nous utiliserons Python 2.7 pour ces exemples. Idéalement, vous devriez avoir un IDE pour écrire ce code. J'utiliserai PyCharm - Community Edition.
Pour se connecter à l'API de Twitter, nous utiliserons une bibliothèque Python appelée Tweepy, que nous installerons dans un instant.
Commencer
Compte développeur Twitter
Pour utiliser l'API de Twitter, nous devons créer un compte développeur sur le site des applications Twitter.
- Connectez-vous ou créez un compte Twitter sur https://apps.twitter.com/.
- Créer une nouvelle application (bouton en haut à droite)
- Remplissez la page de création d'application avec un nom unique , un nom de site Web (utilisez un site Web réservé si vous n'en avez pas) et une description du projet. Acceptez les termes et conditions et passez à la page suivante.
- Une fois votre projet créé, cliquez sur l'onglet « Clés et jetons d'accès ». Vous devriez maintenant pouvoir voir votre secret client et votre clé client.
- Vous aurez également besoin d'une paire de jetons d'accès. Faites défiler vers le bas et demandez ces jetons. La page devrait s'actualiser et vous devriez maintenant avoir un jeton d'accès et un secret de jeton d'accès.
Nous aurons besoin de tout cela plus tard, alors assurez-vous de garder cet onglet ouvert.
Installation de Tweepy
Tweepy est un outil parfaitement pris en charge pour accéder à l'API Twitter. Il prend en charge Python 2.6, 2.7, 3.3, 3.4, 3.5 et 3.6. Il existe plusieurs façons d'installer Tweepy. Le moyen le plus simple consiste à utiliser pip
.
Utilisation de pip
Tapez simplement pip install tweepy
dans votre terminal.
Utilisation de GitHub
Vous pouvez suivre les instructions sur le référentiel GitHub de Tweepy. Les étapes de base sont les suivantes :
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
Vous pouvez également y résoudre tous les problèmes d'installation.
Authentification
Maintenant que nous avons les outils nécessaires prêts, nous pouvons commencer à coder ! La ligne de base de chaque application que nous allons construire aujourd'hui nécessite l'utilisation de Tweepy pour créer un objet API avec lequel nous pouvons appeler des fonctions. Cependant, pour créer l'objet API, nous devons d'abord nous authentifier avec nos informations de développeur.
Tout d'abord, importons Tweepy et ajoutons nos propres informations d'authentification.
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
Il est maintenant temps de créer notre objet API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Ce sera la base de chaque application que nous créons, alors assurez-vous de ne pas la supprimer.
Exemple 1 : votre chronologie
Dans cet exemple, nous allons extraire les dix tweets les plus récents de votre flux Twitter. Nous allons le faire en utilisant la fonction home_timeline()
de l'objet API. Nous pouvons ensuite stocker le résultat dans une variable et y faire une boucle pour imprimer les résultats.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
Le résultat devrait ressembler à un tas de tweets aléatoires, suivis de l'URL du tweet lui-même.

Suivre le lien vers le tweet vous amènera souvent au tweet lui-même. Suivre le lien du premier tweet nous donnerait le résultat suivant :
Notez que si vous l'exécutez via un terminal et non un IDE comme PyCharm, vous pourriez avoir des problèmes de formatage lorsque vous essayez d'imprimer le texte du tweet.
Le JSON derrière les résultats
Dans l'exemple ci-dessus, nous avons imprimé le texte de chaque tweet en utilisant tweet.text
. Pour faire référence aux attributs spécifiques de chaque objet tweet, nous devons examiner le JSON renvoyé par l'API Twitter.
Le résultat que vous recevez de l'API Twitter est au format JSON et contient une quantité importante d'informations jointes. Pour plus de simplicité, ce tutoriel se concentre principalement sur l'attribut "texte" de chaque tweet, et des informations sur le tweeter (l'utilisateur qui a créé le tweet). Pour l'exemple ci-dessus, vous pouvez voir l'intégralité de l'objet JSON renvoyé ici.
Voici un bref aperçu de certains attributs qu'un tweet a à offrir.
Si vous vouliez trouver la date à laquelle le tweet a été créé, vous l'interrogeriez avec print tweet.created_at
.
Vous pouvez également voir que chaque objet tweet contient des informations sur le tweeter.
Pour obtenir les attributs « name » et « location » du tweeter, vous pouvez exécuter print tweet.user.screen_name
et print tweet.user.location
.
Notez que ces attributs peuvent être extrêmement utiles si votre application dépend de données spatiales.
Exemple 2 : Tweets d'un utilisateur spécifique
Dans cet exemple, nous allons simplement extraire les vingt derniers tweets d'un utilisateur de notre choix.
Tout d'abord, nous allons examiner la documentation de Tweepy pour voir si une telle fonction existe. Avec un peu de recherche, nous constatons que la fonction user_timeline()
est ce que nous recherchons.
Nous pouvons voir que la fonction user_timeline()
a des paramètres utiles que nous pouvons utiliser, en particulier id
(l'ID de l'utilisateur) et count
(la quantité de tweets que nous voulons extraire). Notez que nous ne pouvons extraire qu'un nombre limité de tweets par requête en raison des limites de débit de Twitter.
Essayons de tirer les vingt derniers tweets du compte Twitter @NyTimes.
Nous pouvons créer des variables pour stocker la quantité de tweets que nous voulons extraire (compte) et l'utilisateur à partir duquel nous voulons les extraire (nom). Nous pouvons ensuite appeler la fonction user_timeline avec ces deux paramètres. Vous trouverez ci-dessous le code mis à jour (notez que vous auriez dû conserver l'authentification et la création d'objet API en haut de votre code).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Nos résultats devraient ressembler à ceci :
Les applications populaires de ce type de données peuvent inclure :
- Exécution d'analyses sur des utilisateurs spécifiques et sur la manière dont ils interagissent avec le monde
- Trouver des influenceurs Twitter et analyser les tendances et les interactions de leurs abonnés
- Surveiller les changements dans les followers d'un utilisateur
Exemple 3 : Recherche de tweets à l'aide d'un mot-clé
Faisons un dernier exemple : Obtenir les tweets les plus récents contenant un mot-clé. Cela peut être extrêmement utile si vous souhaitez surveiller des sujets spécifiquement mentionnés dans le monde Twitter, ou même pour voir comment votre entreprise est mentionnée. Disons que nous voulons voir comment Twitter mentionne Toptal.
Après avoir parcouru la documentation de Tweepy, la fonction search()
semble être le meilleur outil pour atteindre notre objectif.
Le paramètre le plus important ici est q
— le paramètre de requête, qui est le mot-clé que nous recherchons.
Nous pouvons également définir le paramètre de langue afin de ne pas recevoir de tweets d'une langue indésirable. Renvoyons uniquement les tweets en anglais ("en").
Nous pouvons maintenant modifier notre code pour refléter les changements que nous voulons apporter. Nous créons d'abord des variables pour stocker nos paramètres (requête et langage), puis appelons la fonction via l'objet API. Imprimons également le nom d'écran de l'utilisateur qui a créé le tweet dans notre boucle.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text
Nos résultats devraient ressembler à ceci :
Voici quelques façons pratiques d'utiliser ces informations :
- Créez un graphique spatial sur les endroits où votre entreprise est le plus mentionnée dans le monde
- Exécutez une analyse des sentiments sur les tweets pour voir si l'opinion générale de votre entreprise est positive ou négative
- Créez un graphique social des utilisateurs les plus populaires qui tweetent sur votre entreprise ou votre produit
Nous pourrons couvrir certains de ces sujets dans de futurs articles.
Conclusion
L'API de Twitter est extrêmement utile dans les applications d'exploration de données et peut fournir de vastes informations sur l'opinion publique. Si l'API Twitter et l'analyse de données volumineuses vous intéressent davantage, je vous encourage à en savoir plus sur l'API Twitter, Tweepy et les directives de limitation de débit de Twitter.
Nous n'avons couvert que les bases de l'accès et de la traction. L'API de Twitter peut être exploitée dans des problèmes de mégadonnées très complexes, impliquant des personnes, des tendances et des graphiques sociaux trop compliqués pour que l'esprit humain puisse les saisir seul.