Tutoriel : Archiver les tweets à partir d’un hashtag

Aujourd’hui, j’ai le plaisir d’accueillir sur ce blog Antoine Courtin, biblio-archivo-museogeek, qui nous propose un tutoriel pour collecter des tweets à partir d’un hashtag sur Twitter.

Ce tutoriel n’exige pas de compétences techniques spécifiques, seulement un usage courant du web et de Twitter.

L’objectif de ce billet est d’expliquer, pas à pas, la manière la plus simple d’archiver les tweets à partir d’un hashtag. Il se veut le plus pratico-pratique possible, il aura donc la faiblesse de faire quelques raccourcis. Sans rentrer dans les détails, il est nécessaire de préciser néanmoins que l’archivage des tweets est très problématique et ne peut être exhaustif, notamment à cause des restrictions imposées par Twitter et son API1. Une grande prudence doit donc être de mise.

Ce tutoriel est en priorité destiné aux professionnels actifs sur les Réseaux Sociaux Numériques (R.S.N.) qui organisent notamment des évènements sur Twitter et souhaitent garder une trace des échanges effectués par leurs communautés. Ainsi, il est intéressant pour une institution de mieux identifier les comptes actifs afin de cibler/orienter sa communication, d’identifier les hashtags “moteur”.

Avant-propos

Pré-requis

  • Un compte Twitter,
  • Un droit d’accès aux données de la plateforme via l’API (Application Programming Interface). Cette étape est détaillée dans la 1re étape du tutoriel.
  • Un compte Google (car nous utiliserons Google Drive),
  • TAGS dans sa toute dernière version (V6, publiée début octobre 2014),
  • OpenRefine pour manipuler les données récoltées.

Description des outils utilisés

  • TAGS : modèle de feuille de calcul (spreadsheet en anglais) qui vous permet de configurer et d’exécuter la collecte automatisée des résultats de recherche de Twitter.
  • OpenRefine : une application de bureau open-source pour le nettoyage et la manipulation des données. OpenRefine est similaire à un tableur (accepte les formats de fichiers de tableur ainsi que d’autres formats, JSON, SQL, etc.). Il se comporte cependant plus comme une base de données.

Tutoriel

1re étape : récupération des clés d’activation pour l’API

  • Allez sur Twitter dans votre navigateur et connectez-vous à votre compte.
  • Dans un autre onglet, rendez-vous sur la plateforme dédiée aux développeurs.
  • Dans le pied de page, cliquez sur “Manage Your Apps”.
Site de la plateforme Twitter dédiée aux développeurs

Site de la plateforme Twitter dédiée aux développeurs, avec le lien « Manage Your Apps« 

  • En haut à droite, créez une nouvelle application via le bouton “Create New App”.
  • Remplissez le formulaire :
    • Pour le nom, choisissez celui que vous voulez. Personnellement, j’utilise comme nom d’application le hashtag que je souhaite archiver.
    • Champ “website : pas important mais obligatoire. Comme il s’agit d’un usage interne, je mets l’URL de mon compte Twitter.
    • Pour le “Callback URL”, il faut faire attention et mettre “https://script.google.com/macros/”.
    • N’oubliez pas de cocher la case pour accepter le règlement avant de cliquer sur “Create your Twitter application”.
Formulaire de création d'application Twitter

Formulaire de création d’application Twitter

  • Si tout se passe bien, vous arrivez sur cette page.
Page détails de l'application Twitter nouvellement créée

Page détails de l’application Twitter nouvellement créée

  • Rendez-vous dans l’onglet “Keys and Access Token”, vous y trouverez les informations indispensables :
    • l’API KEY
    • l’API SECRET
Clés de l'API Twitter

Clés de l’API Twitter

2e étape : création d’une instance pour TAGS

  • Allez directement à cette adresse (il s’agit du template utilisé par TAGS).
  • Allez dans « fichier », créez une copie et donnez-lui le nom de votre choix (par exemple “Archives des tweets Inauguration Louis Vuitton”).
  • Vous avez maintenant un fichier spreadsheet que vous pourrez facilement retrouver dans votre Google Drive.
  • Dans ce fichier, cliquez sur “Enable custom menu” pour faire apparaître un menu qui sera utile par la suite. Drive vous demandera une autorisation, cliquez sur “Continuer”.
  • Une pop-up s’affichera, acceptez les conditions.
  • Un message vous avertira du bon déroulement des opérations.

  • Dans le menu TAGS, choisissez “Setup Twitter Access”. Dans ce menu, il suffit d’ajouter l’API KEY et l’API SECRET que nous avons récupéré dans l’étape n°1.
Paramétrage des clés d'API Twitter.

Paramétrage des clés d’API Twitter.

  • Il faudra autoriser votre compte Twitter à utiliser l’application que nous avons créée.
Autoriser l'application à utiliser votre compte Twitter

Autoriser l’application à utiliser votre compte Twitter

  • Un message vous avertit du succès de l’opération.

  • Il faut maintenant entrer le hashtag que vous souhaitez archiver. Dans notre cas, nous allons récupérer les tweets de la soirée d’inauguration de la Fondation Louis Vuitton avec le hashtag #FondationLV (n’oubliez pas le croisillon).
Paramétrage de l'application TAGS

Paramétrage de l’application TAGS

  • Vous pouvez maintenant lancer la récupération des tweets, en choisissant “RUN NOW !” dans le menu TAGS.
  • Si tout s’est bien passé, rendez-vous dans l’onglet “Archives” du document drive.
Onglet "archives" : tweets récupérés dans la feuille de calcul Google Spreadsheet

Onglet « archives » : tweets récupérés dans la feuille de calcul Google Spreadsheet

  • Pour automatiser la récupération automatique, retournez dans le menu “TAGS” et choisissez “Update Archive every hour”.
  • Toujours dans ce même menu, nous allons ajouter deux nouveaux onglets au document qui vont être utiles pour recueillir les premiers graphiques, à savoir “Add summary sheet” et “Add dashboard sheeet”. Voir les images ci-dessous :
Onglet "Summary" : résumé de l'activité par utilisateur Twitter

Onglet « Summary » : résumé de l’activité par utilisateur Twitter

Onglet "Dashboard" : statistiques sur l'ensemble des tweets récupérés

Onglet « Dashboard » : statistiques sur l’ensemble des tweets récupérés

3e étape : exploitation et nettoyage des données avec OpenRefine

OpenRefine est un outil génial pour ceux qui manipulent des données. Elle permet énormément de choses et possède des extensions extrêmement utiles, notamment pour les personnes qui traitent des données historiques travaillant dans les GLAMs.

Pour ce tutoriel, nous allons juste extraire toutes les mentions et tous les hashtags à partir du corps des tweets.

  • Téléchargez l’application OpenRefine (prenez une version stable, par ex. aujourd’hui la “Google Refine 2.5 – Stable version”)
  • Une fois téléchargée (selon votre OS), lancez l’application. Elle s’ouvrira dans votre navigateur web Chrome.
  • Exportez tout d’abord les données issues de la collecte des tweets à partir de la feuille de calcul de Google :

Dans Google Spreadsheet, exportez les données issues de la collecte des tweets

  • puis importez le fichier fraîchement téléchargé dans OpenRefine.
Import des données dans OpenRefine

Import des données dans OpenRefine

  • Après cette étape d’importation, il faut vérifier que les données soient cohérentes avant d’aller plus loin.
    • Choisissez bien “UTF-8” comme encodage,
    • Choisissez “comma” (virgule) comme séparateur,
OpenRefine : choix de l'encodage des données importées

Choix de l’encodage des données importées

  • Une fois que vos données semblent s’afficher correctement, il suffit de choisir “Create” en haut à droite.
  • Nous sommes maintenant dans l’écran principal, et vous allez pouvoir vous rendre compte de ce que l’on peut faire avec OpenRefine et des REGEX (expressions régulières).

Extraire les hashtags et les mentions

  • Il faut tout d’abord nettoyer tous les signes de ponctuations qui sont souvent collés à ces “méta-mots”. Pour cela, dans la colonne “text”, il faut cliquer sur “edit column” -> “add column based on this column” et ajouter cette REGEX dans la zone dédiée :
    replace(value,/[\,\;\:\.\?\/\!\=\+\"\'\-\(\)\[\]]/," ")

(merci à Fred Pailler pour les deux REGEX utilisées dans le tutoriel)

  • Donnez le nom “Tweet” à cette nouvelle colonne.
OpenRefine :  expression régulière pour nettoyer tous les signes de ponctuations

OpenRefine : expression régulière pour nettoyer tous les signes de ponctuation

  • Pour les hashtags, nous allons procéder de la même manière, en partant de cette colonne que l’on vient de créer. Pour cela, il faut de nouveau aller dans “edit column” -> “add column based on this column” et ajouter cette REGEX dans la zone dédiée :
    replace(value,/(\s|^)([^\#]+)/,' ')
OpenRefine : expression régulière pour extraire les hashtags

OpenRefine : expression régulière pour extraire les hashtags

  • On appellera cette colonne “Hashtags”.
  • Nous allons maintenant nettoyer cette colonne nouvellement créée. Pour cela :  “edit cells” / ”common transform” / “trim leading and ending spaces” puis dans le même menu “collapse consecutive whitespace”.
  • Ensuite, nous allons créer autant de colonnes qu’il y a de hashtags grâce à la fonction “edit columns” / “split into several columns” (caractère de séparation : espace ; valeur limite pour le nombre de colonnes : aucune).
OpenRefine : séparation des hashtags en plusieurs colonnes

Séparation des hashtags en plusieurs colonnes

  • Ce qui donne comme résultat :
OpenRefine : Tweets récupérés avec les hashtags associés dans des colonnes séparées

OpenRefine : Tweets récupérés avec les hashtags associés dans des colonnes séparées

  • Maintenant, nous allons rassembler ces hashtags sur une seule colonne mais en répétant les lignes pour obtenir le résultat suivant (vous pouvez voir que le tweet est répété autant de fois qu’il y a de hashtags).
OpenRefine : les hashtags sont maintenant isolés ligne par ligne

OpenRefine : les hashtags sont maintenant isolés ligne par ligne

  • Pour cela, on passe toujours par les menus des colonnes via  “edit columns” / “transpose cells across columns into rows” : on sélectionne la première et la dernière colonne des “hashtags” et on n’oublie pas de cocher “ignore blank cells” et “fill down in other columns”.
OpenRefine : transposition des cellules "hashtag"

OpenRefine : transposition des cellules « hashtag »

  • Grâce à cette manipulation, vous pouvez vous rendre compte des hashtags qui ont été utilisés dans l’ensemble des tweets, et ainsi voir des tendances émerger. Pour cela, il suffit de se rendre dans le menu de la colonne et choisir “Facet” -> “Text Facet” et un menu apparaîtra dans la colonne de gauche.
OpenRefine : palmarès des tweets

OpenRefine : palmarès des tweets

  • Et si vous voulez voir encore un peu plus la puissance d’OpenRefine, cliquez sur “Cluster” et il vous proposera de fusionner automatiquement certains hashtags.
OpenRefine reconnaît les hashtags similaires et nous permet de les fusionner

OpenRefine reconnaît les hashtags similaires et nous permet de les fusionner.

Exemples d’utilisations

Pour aller un peu plus loin, voici un exemple de ce qu’un tel traitement peut donner, à partir des tweets collectés lors des dernières Rencontres Numériques organisées par le Ministère de la Culture et de la Communication au Centre Pompidou les 6 et 7 octobre 2014.

Le schéma ci-dessous a été réalisé grâce à Gephi. Il permet de visualiser les comptes actifs sur le hashtag #RencNum. Vous trouverez plus d’infos et les données collectées sur GitHub.

Autre exemple sur le blog “L’histoire contemporaine à l’ère numérique” : un projet dans la même veine, mais de plus grande ampleur : capturer tous les tweets comprenant des hashtags se rapportant à la Première Guerre Mondiale : Les commémorations du centenaire de la Première Guerre mondiale sur Twitter (avril-juillet 2014).

Visualisation des tweets se rapportant à la Première Guerre Mondiale (source : blog “L'histoire contemporaine à l'ère numérique”)

Visualisation des tweets se rapportant à la Première Guerre Mondiale
(source Frédéric Clavert, blog “L’histoire contemporaine à l’ère numérique”)

Notons enfin qu’OpenRefine peut servir également à une quantité d’autres actions :

  • créer des instruments de recherche XML à partir d’un fichier Excel,
  • nettoyer une base de noms pour les fusionner (ex: avec Dali, Salvador Dali, Dali, Salvaodor, etc.),
  • normaliser des dates

Notes

1. Pour en savoir plus, dans un contexte de recherche en SHS, voir les billets de blog de @sociographie, de @inactinique et de @GrandjeanMartin.

Liens

Advertisements

6 réflexions sur “Tutoriel : Archiver les tweets à partir d’un hashtag

  1. Pingback: Tutoriel : Archiver les tweets à partir ...

  2. Merci c’est top. J’ai encore un peu de mal à comprendre la manière d’intégrer ces données dans Gephi ( je suppose que la colonne Target à cette vocation ). Mais merci :). Si quelqu’un à d’autres tutos à me recommender.

    J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s