Récupérer des tweets avec l'API Twitter : guide étape par étape
Note : Twitter a été rebaptisé X (depuis 2023). L'API de la plateforme est désormais officiellement l'API X (anciennement API Twitter). Ce guide couvre l'API X v2 actuelle, qui reste la version active et supportée. Les URL des points de terminaison utilisent maintenant api.x.com au lieu du domaine legacy api.twitter.com. L'ancienne API Twitter v1.1 a été dépréciée et n'est plus disponible pour les nouveaux projets.
Configuration de l'API Twitter pour récupérer des tweets : guide du débutant
Bienvenue, passionnés de médias sociaux et développeurs en herbe ! Vous avez toujours voulu exploiter la mine d'or de tweets qui circulent dans le Twitterverse ? Vous avez de la chance ! Aujourd'hui, nous plongeons dans le monde de l'API Twitter v2, votre passeport pour récupérer ces précieux messages de 280 caractères.
Avant de plonger dans l'API Twitter v2 et le processus de récupération de tweets, vous trouverez peut-être utile de comprendre comment les API sont utilisées dans la vie quotidienne. Consultez Utilisations pratiques et exemples d'API dans la vie quotidienne pour une perspective pratique.
Explorer les niveaux d'accès à l'API Twitter v2
Avant de retrousser vos manches et de commencer à coder, parlons des différents niveaux d'accès disponibles avec l'API Twitter v2. Considérez-les comme des types de billets lors d'un concert : chacun vous offre une expérience différente !
Voici la répartition :
Accès essentiel : Le pack de démarrage ! Ce niveau est automatiquement accordé lorsque vous créez votre compte développeur. Il est parfait pour expérimenter, apprendre et construire des projets plus petits. Vous avez accès aux points de terminaison standard et pouvez récupérer un nombre décent de tweets par mois, plus que suffisant pour vous initier.
Accès élevé : Prêt pour la grande ligue ? L'accès élevé lève les restrictions pour que vous puissiez extraire encore plus de données, parfait pour les applications en production ou les projets plus sérieux. Vous devrez remplir une courte demande dans le portail développeur, mais elle est ouverte à tous.
Accès recherche académique : Si vous êtes chercheur dans un établissement académique, c'est votre billet d'or. L'accès recherche académique déverrouille non seulement des limites de données plus élevées, mais aussi quelque chose de particulièrement intéressant : vous pouvez remonter jusqu'au tout premier tweet de Twitter en 2006 !
Élevé+ (bientôt disponible !) : Twitter a laissé entendre l'existence d'un nouveau niveau encore plus puissant. Celui-ci s'adresse aux utilisateurs intensifs, avec la promesse d'accès à jusqu'à 10 millions de tweets par mois.
Récapitulatif rapide :
Essentiel = pour débuter
Élevé = monter en échelle
Académique = recherche approfondie
Élevé+ = rêve des utilisateurs intensifs (bientôt disponible !)
Maintenant, avant de nous attaquer à la configuration, voyons comment passer de zéro à héros de l'API...
Pourquoi les données Twitter sont importantes
Twitter n'est pas seulement un endroit pour les mèmes, les actualités et les opinions tranchées, c'est un immense flux de données participatif reflétant tout, des événements quotidiens à l'opinion publique. Des chercheurs et des développeurs ont exploité les données Twitter pour construire des systèmes de surveillance sanitaire identifiant les épidémies, repérer les incidents de circulation en temps réel, et même surveiller l'accès alimentaire dans les villes. Les possibilités sont immenses !
Bien sûr, il est important de se rappeler : les utilisateurs de Twitter constituent une tranche unique de la population, et seulement 10 % des utilisateurs sont responsables d'environ 80 % des tweets. Ainsi, bien que les données soient riches, elles comportent leurs propres particularités et biais.
Commençons : l'API Twitter v2 en bref
La dernière version de l'API Twitter est comme un nouveau jouet brillant pour les développeurs. Elle regorge de fonctionnalités intéressantes qui rendront vos rêves de récupération de tweets réalité. Voici ce qui nous enthousiasme :
Réponses plus élégantes : Dites adieu aux données encombrantes. La nouvelle API présente les informations dans un format bien plus digeste.
Puissance des sondages : Vous aimez les sondages Twitter ? Vous pouvez maintenant récupérer ces données aussi !
Annotations intelligentes : Obtenez des informations contextuelles et une reconnaissance d'entités sur le contenu d'un tweet. Si vous vous intéressez au Traitement du Langage Naturel (NLP), l'API Twitter v2 vous permet de demander à la fois des annotations d'entités (personnes nommées, lieux, organisations) et des annotations contextuelles.
Fils de conversation : Ne manquez plus la vue d'ensemble. Récupérez des fils de conversation entiers facilement.
Pourquoi devriez-vous vous en soucier ?
Que vous construisiez un tableau de bord de médias sociaux, effectuiez des recherches ou satisfassiez simplement votre curiosité, l'API Twitter v2 ouvre un monde de possibilités. C'est comme avoir un laissez-passer coulisses pour le Twitterverse !
Obtenir l'accès à l'API Twitter : la configuration
Retroussons nos manches et configurons votre accès à l'API Twitter.
Étape 1 : Devenir développeur Twitter
Première étape, vous devez rejoindre le club des développeurs, c'est-à-dire obtenir un compte développeur Twitter. Voici comment :
Rendez-vous sur le site de la plateforme Twitter Developer.
Cliquez sur le bouton "S'inscrire" et suivez les instructions.
Remplissez la demande avec vos idées brillantes pour utiliser l'API.
Attendez l'approbation. (Ne vous inquiétez pas, Twitter est assez rapide !)
Étape 2 : Créer votre projet Twitter
Une fois connecté, il est temps de créer un projet :
Connectez-vous au portail Twitter Developer.
Recherchez le bouton "Créer un projet" et cliquez dessus.
Choisissez un nom éloquent pour votre projet.
Sélectionnez le cas d'utilisation qui correspond le mieux à vos plans.
Rédigez une brève description de ce que vous faites.
Étape 3 : Connecter une application
Voici la partie amusante, configurer votre application :
Dans votre nouveau projet, vous verrez une option pour "Ajouter une application" ou "Créer une application".
Si vous partez de zéro, cliquez sur "Créer une application" et donnez-lui un nom.
Vous avez déjà une application ? Connectez-la simplement à votre nouveau projet.
Étape 4 : Sécuriser vos clés d'accès
C'est ici que vous obtenez votre accès VIP :
Une fois votre application créée, vous verrez un écran avec votre clé API, votre clé secrète API et votre Bearer Token.
Ce sont vos billets d'or, gardez-les précieusement ! Copiez-les et stockez-les de manière sécurisée sur votre machine locale.
Conseil pro : Ne partagez jamais ces clés publiquement. Ce sont les mots de passe de votre royaume API Twitter !
Et voilà ! Vous êtes maintenant officiellement configuré avec l'accès développeur Twitter.
Récupérer vos premiers tweets : faisons chanter cette API !
Maintenant que vous disposez de vos clés API, il est temps du moment de vérité : effectuer votre première requête API. Ne vous inquiétez pas, nous avons des options pour tous, des guerriers de la ligne de commande aux enthousiastes Python.
Pause rapide : comprendre les limites de débit
Avant de lancer une rafale de requêtes API, il y a un point important à garder à l'esprit : Twitter impose des limites de débit pour s'assurer que tout le monde joue le jeu et que les serveurs restent en bonne santé.
Si vous êtes au niveau d'accès essentiel, vous pouvez effectuer jusqu'à 180 requêtes toutes les 15 minutes pour ce point de terminaison particulier. Cela revient à environ une requête toutes les cinq secondes. Il est donc préférable d'ajouter une courte pause entre les requêtes, sinon vous risquez de rencontrer des erreurs ou d'être temporairement bloqué.
Option 1 : Le héros de la ligne de commande (cURL)
Pour ceux qui aiment le terminal, cURL est votre meilleur ami :
Ouvrez votre terminal.
Copiez cette commande (mais n'appuyez pas encore sur Entrée !) :
curl --request GET 'https://api.x.com/2/tweets/search/recent?query=from:twitterdev' --header 'Authorization: Bearer $BEARER_TOKEN'Remplacez $BEARER_TOKEN par votre Bearer Token réel.
Appuyez sur Entrée et regardez la magie opérer ! Vous verrez une réponse JSON avec les tweets récents de @TwitterDev.
Mais que regardez-vous exactement ?
Une fois la commande exécutée, vous obtiendrez un bloc de JSON. Voici ce qu'il contient :
La réponse principale est un dictionnaire avec deux clés : data et meta.
data contient une liste de tweets, chacun sous forme de dictionnaire.
meta vous donne les informations en coulisses : le nombre de tweets obtenus, les ID des tweets les plus récents et les plus anciens, et un next_token (que vous utiliserez si vous voulez récupérer encore plus de tweets).
Félicitations ! Avec une simple requête cURL, vous avez récupéré votre premier lot de tweets et observé la structure de la réponse. Le monde de l'API est à vous !
Bonus : aplatir et traiter les données comme un professionnel
Vous avez collecté vos données de tweets à l'aide d'outils en ligne de commande ? Mais que faire si votre nouveau jeu de données est organisé en un seul gros bloc par réponse API, plutôt qu'une ligne par tweet ? C'est là qu'intervient l'aplatissement.
Voici le processus :
Collectez vos données brutes. Par exemple, si vous avez exécuté une commande comme
twarc2 timelinesavec une liste d'ID utilisateur, votre sortie (par exempleresults.jsonl) aura une réponse API par ligne.Aplatissez les données. Au lieu de vous battre avec du JSON imbriqué, passez votre fichier par un utilitaire d'aplatissement. Avec twarc, utilisez :
twarc2 flatten results.jsonl tweets.jsonlMaintenant, chaque tweet devient sa propre ligne dans
tweets.jsonl.Passez à votre base de données ou outil d'analyse. La plupart des bases de données modernes (comme MongoDB) ou des bibliothèques de traitement de données adorent ce format.
Option 2 : La puissance de Python
Vous préférez Python ? Nous vous couvrons :
Rendez-vous sur le code d'exemple de l'API Twitter v2 sur GitHub.
Téléchargez ou clonez le dépôt.
Naviguez jusqu'au fichier recent_search.py.
Assurez-vous d'avoir la bibliothèque requests installée (pip install requests).
Définissez votre Bearer Token comme variable d'environnement :
export 'BEARER_TOKEN'='your_actual_bearer_token_here'Exécutez le script : python3 recent_search.py
Voici ce qui se passe sous le capot :
Configuration du script
Vous devrez d'abord charger vos packages Python et récupérer vos informations d'identification Bearer Token (conseil pro : l'utilisation de variables d'environnement garde vos clés secrètes) :
Définir votre recherche de tweets
Disons que vous souhaitez trouver des tweets mentionnant "pompe à chaleur" ou "pompes à chaleur", uniquement en français, et ignorer les retweets. Vous configureriez votre point de terminaison et vos paramètres de requête comme suit :
query : Ce que vous recherchez
tweet.fields : Les détails que vous souhaitez recevoir (ID du tweet, texte, auteur, date)
max_results : Nombre de tweets par requête
Envoi de la requête
Vous devrez inclure votre Bearer Token dans les en-têtes.
Ajustez à votre guise
La meilleure partie ? Vous pouvez ajuster la query pour récupérer des tweets sur n'importe quel sujet. Essayez de rechercher votre hashtag favori, un utilisateur ou un sujet.
Mode pro : parcourir plusieurs règles avec Python
Vous voulez collecter des tweets correspondant à plusieurs règles de recherche différentes ? Voici comment automatiser le processus.
Commencez par préparer deux DataFrames pandas vides : un pour les tweets, un pour les utilisateurs. Vous parcourrez votre collection de règles, en remplaçant le champ de requête à chaque fois.
Un flux de travail de base ressemblerait à ceci :
Configurez vos DataFrames vides (un pour les tweets, un pour les utilisateurs).
Pour chaque règle dans votre liste, mettez à jour vos paramètres de requête.
Appelez votre fonction qui envoie la requête au point de terminaison Twitter et traite la réponse.
Respectez les limites de débit de Twitter : insérez un time.sleep(5) après chaque requête.
Gérez la pagination : si votre réponse inclut un "next_token" dans le champ "meta", continuez à récupérer des pages supplémentaires.
Le résultat ? Des DataFrames robustes remplis de tweets et de détails utilisateur pour chaque règle qui vous intéresse.
Gérer les erreurs API comme un professionnel
Que faire si vous rencontrez un problème lors de la récupération de tweets ? Ne vous inquiétez pas, l'API de Twitter adore parler en codes de statut, et avec les bonnes astuces, vous pouvez gérer même les erreurs les plus récalcitrantes.
Voici le plan d'action :
Vérifiez la réponse :
Après avoir effectué votre requête, vérifiez toujoursresponse.status_code.Si c'est 200, félicitez-vous, vous avez réussi !
Si c'est dans les 400 (comme 401 ou 403), quelque chose ne va pas, généralement vos informations d'identification ou autorisations.
Si c'est un code 500, c'est du côté de Twitter. Ce sont généralement des problèmes temporaires.
Restez courtois, ne spammez pas :
Lorsque vous obtenez une erreur temporaire (502, 503 ou 504), n'envoyez pas de requêtes répétées ! Au lieu de cela :Attendez un peu avant de réessayer. Un temps de veille aléatoire entre 5 et 60 secondes fait souvent l'affaire.
Toujours bloqué après une nouvelle tentative ? Consultez la page de statut de l'API de Twitter pour des problèmes généralisés.
Levez des exceptions pour les cas importants :
Pour les erreurs côté client (statut 4xx), levez une exception avec tous les détails afin de pouvoir déboguer.
En intégrant ces vérifications dans vos scripts, vos aventures avec l'API Twitter seront bien plus fluides.
Option 3 : La méthode GUI (Qodex)
Si vous préférez cliquer plutôt que taper :
Rendez-vous sur Qodex.ai.
Créez une nouvelle requête dans Qodex.
Définissez le type de requête sur GET.
Utilisez cette URL : https://api.x.com/2/tweets/search/recent?query=from:twitterdev
Dans l'onglet En-têtes, ajoutez Authorization comme clé et Bearer votre_bearer_token_reel comme valeur.
Cliquez sur Envoyer et regardez ces tweets affluer !
Bonus : Bibliothèques disponibles
Vous voulez simplifier votre codage ? Consultez la page des outils et bibliothèques de Twitter. Des bibliothèques sont disponibles dans divers langages de programmation qui supportent la v2 de l'API.
Résolution des problèmes de récupération de tweets pour la recherche académique
Se lancer dans la récupération de tweets à des fins académiques peut parfois ressembler à une aventure Indiana Jones, avec des erreurs mystérieuses et des exigences archaïques. Voici quelques obstacles classiques que vous pourriez rencontrer, et comment les surmonter.
1. Accès limité aux archives de tweets
Par défaut, la plupart des développeurs n'ont accès qu'aux tweets des sept derniers jours. Pour des plages de dates plus larges, un accès académique est requis.
Solution : Plutôt que des recherches en direct, cherchez des jeux de données ouverts que vous pouvez hydrater, consultez https://catalog.docnow.io/ pour des archives de tweets publiques prêtes à la recherche.
2. Paramètres de requête confus
Contrairement aux plateformes de recherche classiques, certaines bibliothèques nécessitent des conventions de nommage de paramètres spécifiques. Par exemple, vous ne pouvez pas utiliser les opérateurs de recherche classiques comme
since:etuntil:. Utilisez plutôt les paramètresstart_timeetend_time.Conseil pro : Consultez la documentation de votre bibliothèque pour trouver la syntaxe correcte.
3. Problèmes d'authentification
De nombreuses API attendent un Bearer Token lié au niveau d'accès approprié. Utiliser un token d'un projet de base au lieu d'un académique conduit souvent à des erreurs client.
Solution : Visitez votre portail développeur, vérifiez à quelle application votre token est lié et assurez-vous d'utiliser celui signalé pour la recherche académique.
4. Gestion des limites de débit et du volume de données
La plupart des API limitent le nombre de tweets que vous pouvez récupérer par requête, ou par utilisateur.
Stratégie : Pour les jeux de données plus importants, décomposez les requêtes, ou utilisez des scripts de traitement de données locaux pour aplatir et combiner plusieurs réponses.
5. Importation et gestion des données
La plupart des outils en ligne de commande produisent des tweets au format JSONL. Vous pouvez utiliser les fonctionnalités intégrées des outils (comme
flattenavec twarc) pour simplifier les résultats, et les importer directement dans des bases de données comme MongoDB pour une analyse approfondie.
Conseils rapides pour une collecte de données réussie :
Méfiez-vous des tutoriels obsolètes, les points de terminaison et les niveaux d'accès aux API changent souvent.
Si vous êtes bloqué, cherchez des guides vidéo ou des sessions de codage en direct.
Testez vos clés et requêtes à petite échelle avant d'exécuter l'ensemble du pipeline.
Bonus : collecte avancée de tweets avec Twarc
Prêt à passer au niveau supérieur et à récupérer des tweets d'une liste personnalisée d'ID utilisateur ? Voici Twarc, le couteau suisse de la collecte de données Twitter.
Avec Twarc, vous pouvez récupérer des tweets d'utilisateurs spécifiques sur n'importe quelle plage de dates (tant que les tweets sont encore disponibles). Voici comment exploiter cet outil pratique :
Étape 1 : Installation et configuration
Assurez-vous d'avoir Python installé.
Ouvrez votre terminal et exécutez :
pip install twarcVous devrez authentifier Twarc avec vos clés API. Initialisez Twarc avec :
twarc2 configure
Suivez les instructions pour saisir vos clés.
Étape 2 : Préparer votre liste d'ID utilisateur
Placez chaque ID utilisateur sur sa propre ligne dans un fichier texte, par exemple
twitter_ids.txt
Étape 3 : Récupérer des tweets pour une plage de dates
Utilisez la commande suivante pour récupérer des tweets de ces utilisateurs, en spécifiant votre plage de dates préférée :
twarc2 timelines --start-time "YYYY-MM-DD" --end-time "YYYY-MM-DD" --use-search twitter_ids.txt results.jsonlRemplacez
YYYY-MM-DDpar vos dates de début et de fin réelles.Le fichier
results.jsonlstockera vos données de tweets brutes.
Étape 4 : Aplatir les données
Twarc stocke les résultats sous forme d'une réponse API par ligne. Pour obtenir un tweet par ligne (bien plus facile à utiliser), exécutez :
twarc2 flatten results.jsonl tweets.jsonlMaintenant,
tweets.jsonlcontient des tweets individuels, prêts à être analysés ou importés.
Étape 5 : Optionnel, importer dans une base de données
Si vous aimez accumuler des données, vous pouvez importer
tweets.jsonldirectement dans des bases de données comme MongoDB pour une exploration approfondie.
Besoin de plus d'aide ?
La documentation officielle de Twarc et les tutoriels de la communauté sont des mines d'or pour les explorateurs de données.
Avec un outil tiers comme Twarc, vous n'êtes pas limité aux tweets récents. Vous pouvez créer des collections de tweets personnalisées et puissantes d'utilisateurs spécifiques au fil du temps.
Bonus : stocker des tweets dans MongoDB pour une analyse poussée
Récupérer des tweets n'est qu'un début. Que faire si vous souhaitez stocker toutes ces précieuses données Twitter quelque part pour des analyses futures ? Voici MongoDB !
Voici un guide pratique pour sortir vos tweets collectés de Python et les mettre dans MongoDB. Vous aurez besoin de la bibliothèque pymongo :
pip install pymongo
Maintenant, retroussons nos manches :
Connectez-vous à MongoDB :
Commencez par importerpymongoet vous connecter à votre instance MongoDB.from pymongo import MongoClientclient = MongoClient('localhost', 27017)db = client['Twitter']collection = db['Tweets']Préparez vos données :
Au fur et à mesure que vous récupérez des tweets depuis l'API, vous les recevrez généralement sous forme de dictionnaires, parfaits pour MongoDB ! Pour chaque tweet, insérez-le simplement dans la collection.Vérifiez et analysez :
Après l'importation, vous pouvez exécuter des requêtes rapides pour vérifier vos données.
Voilà ! Votre trésor de tweets réside maintenant en sécurité dans MongoDB, prêt pour toutes sortes d'analyses : statistiques, scoring de sentiment, apprentissage automatique.
Maîtriser le point de terminaison de recherche récente : votre passerelle vers les données Twitter
Maintenant que vous avez pris vos marques, plongeons plus en profondeur dans le point de terminaison de recherche récente. Cet outil puissant est votre ticket pour trouver des tweets spécifiques des sept derniers jours.
Limites de règles pour l'accès essentiel : ce qu'il faut savoir
Avant de commencer à créer des requêtes astucieuses, il est bon de connaître les contraintes. Avec l'accès essentiel, vous pouvez configurer jusqu'à 5 règles pour collecter des tweets. Chacune de ces règles peut être aussi détaillée que vous le souhaitez, en gardant à l'esprit que chaque règle est limitée à 512 caractères.
Si vous vous retrouvez à vous heurter à ces limites, il est peut-être temps de envisager de mettre à niveau votre niveau d'accès. Pour la plupart des débutants et des projets occasionnels, cependant, cinq règles bien planifiées devraient suffire pour commencer !
Structure de requête de base
Le point de terminaison de recherche récente repose tout entier sur la requête. Voici une structure simple :
https://api.x.com/2/tweets/search/recent?query=vos_termes_de_recherchePar exemple, pour trouver des tweets sur les chats :
https://api.x.com/2/tweets/search/recent?query=catsCombien de tweets pouvez-vous récupérer par requête ?
Chaque requête au point de terminaison de recherche récente vous récupérera jusqu'à 100 tweets à la fois. Si vous en avez besoin de plus, utilisez simplement le jeton de pagination inclus dans la réponse pour continuer et collecter encore plus de tweets des sept derniers jours.
Modifier les requêtes pour des données spécifiques
Vous voulez affiner votre recherche ? Essayez ces modifications de requête :
D'un utilisateur spécifique : from:nomutilisateur
Contenant un hashtag : #hashtag
Tweets avec des médias : has:images ou has:videos
Tweets dans une langue : lang:fr (pour le français)
L'art de l'affinage des requêtes : la précision compte
Affiner vos requêtes n'est pas seulement un luxe, c'est le secret pour collecter des données Twitter de haute qualité sans être noyé sous des tweets non pertinents. Quand vous commencez à chercher, vos résultats peuvent être un peu désordonnés ou trop larges. C'est normal ! C'est tout à fait part du processus.
Conseils pour garder vos requêtes précises :
Ajustez vos mots-clés pour exclure les sujets non liés.
Utilisez des opérateurs de recherche avancés.
Explorez vos résultats initiaux et ajustez vos termes de requête en fonction de ce que vous voyez.
Itérez jusqu'à ce que votre recherche vous donne exactement ce que vous cherchez.
Conseils pro : créer des règles efficaces pour des tweets pertinents
Prêt à affiner votre jeu de collecte de données Twitter ? Voici comment cibler exactement les tweets que vous voulez :
Commencez précis. Commencez par une requête étroite pour cibler précisément votre audience.
Utilisez les filtres à votre avantage, combinez mots-clés, hashtags, noms d'utilisateur "from:", types de médias et codes de langue pour exclure le bruit.
Testez et peaufinez. Exécutez une recherche d'échantillon, examinez les résultats et ajustez votre requête.
Méfiez-vous des mots-clés ambigus ! Par exemple, rechercher "Swift" pourrait capturer des publications sur Taylor Swift alors que vous voulez des discussions de programmation.
Ne réglez pas et n'oubliez pas ! Au fur et à mesure que vous collectez des tweets, continuez à affiner vos règles.
Combinez ces éléments pour des résultats plus précis :
query=cats from:ASPCA has:images lang:enCela permettrait de trouver des tweets en anglais sur les chats de @ASPCA incluant des images.
Parcourir les résultats : comment utiliser le next_token
Disons qu'une page de tweets ne suffit pas. L'API de Twitter gère facilement la pagination. Voici comment cela fonctionne :
Après chaque appel d'API, vérifiez la section
metade la réponse JSON.S'il y a un champ
next_token, cela signifie qu'il y a d'autres tweets qui vous attendent.Prenez simplement cette valeur
next_tokenet ajoutez-la comme paramètre de requête à votre prochaine requête.
Répétez : continuez à utiliser le next_token le plus récent à chaque fois, et vous parcourrez les résultats jusqu'à ce que le token disparaisse.
Filtrer les tweets par plage de dates : la bonne méthode
Si vous souhaitez récupérer des tweets d'une plage de dates spécifique, voici un petit secret : vous n'incluez pas les dates directement dans votre chaîne de requête avec since: ou until:. Au lieu de cela, les versions récentes de l'API utilisent des paramètres d'URL spéciaux pour gérer le filtrage temporel.
Voici comment procéder :
Utilisez
start_timepour définir la date et l'heure les plus anciennes des tweets que vous souhaitez récupérer.Utilisez
end_timepour définir la date et l'heure les plus récentes.
Les deux doivent être au format ISO 8601 (par exemple : 2024-01-01T00:00:00Z).
Ainsi, votre URL pourrait ressembler à ceci :https://api.x.com/2/tweets/search/recent?query=cats&start_time=2024-06-01T00:00:00Z&end_time=2024-06-03T00:00:00Z
Conseil pro : Les bibliothèques populaires comme twitter-api-v2 (pour JavaScript) supportent ces paramètres.
Conseil pro : récupérer des tweets d'utilisateurs spécifiques pour une plage de dates
Vous voulez récupérer des tweets d'ID utilisateur spécifiques pendant une fenêtre temporelle personnalisée ? Totalement faisable ! Voici comment vous préparer et récupérer ces tweets comme un véritable expert en données.
D'abord, la règle d'or : lors d'une requête par date, le point de terminaison de recherche récente ne vous donne accès qu'aux tweets des sept derniers jours. Si vous avez besoin de tweets plus anciens, vous aurez besoin d'un accès à l'archive complète, ce qui nécessite généralement un accès de recherche académique.
Utilisation de Python et Tweepy pour des récupérations simples (récent uniquement) :
Si votre date cible se situe dans la dernière semaine, Tweepy est votre ami. Voici ce que vous faites :
Authentifiez-vous avec vos clés API comme d'habitude.
Utilisez les paramètres
start_timeetend_time, et non pas les mots-clés de recherche, lorsque vous voulez filtrer par plage de dates.Parcourez vos ID utilisateur et effectuez des requêtes.
Pour l'exploration approfondie : récupérer des tweets plus anciens avec des outils en ligne de commande
Si vous avez besoin de tweets historiques (bien plus de 7 jours), vous voudrez utiliser des outils comme Twarc :
Sauvegardez vos ID utilisateur, un par ligne, dans un fichier texte, par exemple
twitter_ids.txt.Récupérez les chronologies avec une plage de temps spécifique.
Si vous avez un accès de recherche académique, vous pouvez récupérer dans l'archive complète. Sinon, vous êtes limité aux 3 200 tweets les plus récents par utilisateur, quelle que soit la date.
Optionnel : aplatissez les résultats pour obtenir un tweet par ligne :
twarc2 flatten results.jsonl tweets.jsonl
Conseils de dépannage :
Assurez-vous d'utiliser le bon bearer token ; les points de terminaison académiques nécessitent un accès d'application spécifique.
Si vous rencontrez des problèmes d'autorisation, vérifiez le type de votre projet dans le portail Twitter Developer.
Pas d'accès académique ? Vous serez limité aux tweets récents, mais vous pouvez toujours collecter un échantillon substantiel par utilisateur.
Avec ces approches, vous serez prêt à capturer des tweets de n'importe quel ensemble d'utilisateurs, pour n'importe quelle période que votre projet exige !
Créer des règles de recherche avancées
Prêt à passer au niveau supérieur ? Le point de terminaison de recherche récente vous permet de configurer des règles pour capturer exactement les conversations qui vous intéressent.
Disons que vous voulez extraire des tweets sur les "pompes à chaleur" ou les "chaudières à gaz", mais ignorer tous les retweets et vous concentrer uniquement sur les tweets en anglais. Voici comment définir vos règles de recherche dans le code :
Chaque règle est une mini-commande de recherche :
Utilisez
ORpour capturer différentes façons dont les gens pourraient mentionner un sujet.Excluez les retweets en utilisant
-is:retweet.Définissez la langue, comme
lang:enpour l'anglais.
Les tags vous aident à étiqueter et organiser les résultats.
Utilisation des champs et des expansions
Pour obtenir des réponses plus détaillées, utilisez des champs et des expansions :
Ajoutez des champs de tweet : tweet.fields=created_at,author_id,public_metrics
Incluez les données utilisateur : expansions=author_id&user.fields=username,verified
Votre URL pourrait ressembler à ceci :
https://api.x.com/2/tweets/search/recent?query=cats&tweet.fields=created_at,author_id,public_metrics&expansions=author_id&user.fields=username,verifiedCela vous donne l'heure de création, les informations sur l'auteur et les métriques d'engagement pour chaque tweet.
Construire des requêtes puissantes avec des opérateurs
La vraie magie réside dans la création de la requête parfaite à l'aide d'opérateurs, qui vous permettent de filtrer les tweets avec une précision chirurgicale.
Disons que vous voulez des tweets mentionnant les chats noirs, mais pas les chiens, et vous voulez ignorer les retweets. Votre requête ressemblerait à ceci :
Quelques opérateurs pratiques pour booster vos recherches :
Tweets d'un utilisateur spécifique : from:
Tweets contenant un hashtag : #
Tweets avec des médias : has:images, has:videos
Tweets en anglais : lang:en
Filtre pour les retweets ou les réponses : is:retweet, is:reply
Avec ces compétences en matière de requêtes, vous êtes prêt à découper les données Twitter comme un professionnel.
Aller plus loin : pagination et limites de débit
Mais que faire si vous voulez récupérer plus qu'une seule page de tweets ? Voici comment devenir un expert :
Pagination avec next_token : L'API de Twitter renvoie les résultats en pages. Chaque réponse peut inclure une valeur
next_tokendans son champmeta. Tant que vous voyez ce token, récupérez-le et ajoutez-le à votre prochaine requête en tant que paramètre de requête, et vous obtiendrez le prochain lot de tweets.Respectez la limite de débit : Twitter fixe un plafond, généralement 180 requêtes par 15 minutes pour le niveau d'accès essentiel. C'est environ une requête toutes les cinq secondes. Pour jouer le jeu et éviter les erreurs, insérez une courte pause (
sleep) d'environ cinq secondes entre les appels si vous bouclez sur de nombreuses pages.
Exemple : parcourir plusieurs règles
Si vous collectez des tweets basés sur plusieurs règles de recherche (par exemple : "chats", "chiens", "perroquets"), vous pourriez utiliser une structure comme celle-ci en Python :
Ce qui se passe ici :
Des DataFrames pandas vides sont configurés pour stocker vos informations de tweets et d'utilisateurs.
Pour chaque règle (ou sujet), vous mettez à jour la requête et le tag, effectuez l'appel API, traitez les données et faites une pause de cinq secondes.
S'il y a un
next_token, vous n'avez pas terminé ! Continuez à paginer jusqu'à avoir collecté tous les tweets disponibles pour cette règle.
Conseils pro : au-delà des bases
Dans l'exemple ci-dessus, nous avons utilisé le point de terminaison de recherche récente pour récupérer des données historiques des 7 derniers jours, mais saviez-vous que vous pouvez l'utiliser pour obtenir des tweets presque en temps réel ? En exploitant le paramètre since_id, vous pouvez récupérer uniquement les tweets plus récents qu'un ID de tweet spécifique, parfait pour garder le doigt sur le pouls au fur et à mesure que de nouveaux contenus arrivent.
Vous cherchez un véritable flux en temps réel ? Envisagez d'utiliser le point de terminaison Filtered Stream. Tandis que la recherche récente est idéale pour les requêtes à la demande, le Filtered Stream vous permet de collecter en continu des tweets au fur et à mesure qu'ils sont publiés.
Résolution des problèmes d'accès : quand vous ne pouvez pas rechercher tous les tweets
Vous rencontrez des obstacles avec les recherches de tweets historiques ? Vous n'êtes pas seul ! Si vos informations d'identification ou votre niveau d'accès ne sont pas adaptés aux recherches dans l'archive complète, voici ce que vous pouvez faire :
Vérifiez votre niveau d'accès : La plupart des clés API Twitter pour débutants ou "essentielles" n'autorisent l'accès qu'au point de terminaison de recherche récente (7 derniers jours).
Recherchez l'accès académique : Pour débloquer
/search/all, vous aurez besoin d'un accès de recherche académique.Essayez les chronologies utilisateur comme solution de contournement : Si vous avez besoin de tweets plus anciens, jusqu'aux 3 200 derniers par utilisateur, envisagez de les extraire des chronologies utilisateur.
Vérifiez le Bearer Token de votre application : Assurez-vous d'utiliser le bon ensemble de clés, surtout si vous avez plusieurs projets ou applications de développeur Twitter connectés à votre compte.
Accès gratuit et essentiel : remonter dans le temps n'est pas si simple
Avant de planifier une exploration approfondie des tweets d'antan, il y a quelques obstacles à connaître. Avec la plupart des API de médias sociaux, y compris Twitter, l'accès gratuit ou essentiel s'accompagne d'une limite de temps stricte : vous ne pouvez généralement récupérer des tweets que des sept derniers jours en utilisant le point de terminaison de recherche standard.
Solutions de contournement et jeux de données
Si vous avez besoin de tweets plus anciens, voici quelques méthodes ingénieuses pour obtenir ces données :
Jeux de données précollectés : Des organisations comme DocNow organisent des jeux de données de tweets publics que vous pouvez télécharger et analyser.
Outils d'hydratation : Des outils comme
twarcvous permettent d'"hydrater" (c'est-à-dire récupérer les objets tweet complets) à l'aide de listes d'ID de tweets provenant de ces archives publiques.
Améliorations via la ligne de commande
Bien que vous ne puissiez pas fouiller des tweets du passé lointain via les points de terminaison de recherche standard, vous pouvez toujours :
Récupérer jusqu'aux 3 200 derniers tweets des chronologies d'utilisateurs individuels.
Appliquer des filtres comme des plages de dates (là où les outils le supportent).
Avertissement sur les niveaux d'accès
Si vous essayez d'accéder au point de terminaison /search/all sans les informations d'identification académiques appropriées, vous serez refusé. Seuls les utilisateurs avec des projets académiques approuvés ont cette capacité.
En bref :
À moins d'avoir un accès académique, considérez les données API plutôt comme un rétroviseur que comme une machine à voyager dans le temps. Pour les plongées historiques profondes, les jeux de données publics et les outils d'hydratation sont vos meilleurs amis.
Erreurs courantes lors de la récupération de tweets historiques, et comment les corriger
1. Atteindre la limite de recherche de sept jours
Sans accès académique, la plupart des API (y compris les offres standard de Twitter) ne vous permettent de rechercher des tweets que des sept derniers jours. Si vous avez besoin de données plus anciennes, envisagez d'utiliser des jeux de données organisés provenant de ressources comme DocNow Catalog et d'"hydrater" les ID de tweets.
2. Syntaxe de requête incorrecte
Il est tentant de mettre since: ou until: directement dans votre requête de recherche, mais la bonne façon est d'utiliser start_time et end_time comme paramètres, pas dans la chaîne de requête. Certains outils attendent ces éléments comme options dédiées, alors vérifiez bien la documentation si votre recherche ne donne pas de résultats.
3. Confusions d'authentification
De nombreuses erreurs, comme "Erreur client" ou "Non autorisé", se produisent en raison de Bearer Tokens incompatibles ou manquants. Assurez-vous d'utiliser le token exact associé au bon niveau d'accès.
4. Non-correspondance entre le point de terminaison d'API et le niveau d'accès
Si vous utilisez des points de terminaison verrouillés derrière des niveaux d'accès supérieurs (par exemple /search/all), mais que vous n'avez qu'un accès standard ou essentiel, vous serez refusé.
5. Problèmes courants avec les bibliothèques et les outils
Si vous utilisez des outils comme Twarc ou d'autres bibliothèques open-source :
Vérifiez que vos options de ligne de commande correspondent à votre niveau d'accès
Pour les chronologies en masse, omettez les indicateurs avancés comme
--use-searchà moins d'avoir des informations d'identification académiquesUtilisez la fonctionnalité
flattenpour décomposer les réponses multi-tweets en tweets uniques
Liste de vérification rapide pour le dépannage
Assurez-vous que vos clés d'authentification sont correctes et valides pour le point de terminaison souhaité
Vérifiez deux fois vos paramètres de requête pour les fautes de frappe ou les mauvais placements
Pour plus de données, envisagez de combiner des jeux de données publics avec des outils permettant d'hydrater les ID de tweets
En cas de doute, consultez la documentation ou essayez le code d'exemple des tutoriels des mainteneurs de la bibliothèque
Explorer les tweets historiques : méthodes alternatives quand l'accès est restreint
Que faire si vous êtes à la recherche d'archives de tweets mais que vos points de terminaison habituels bloquent l'accès ? Explorons vos options.
Jeux de données précollectés : le raccourci dont vous avez besoin
Si vous voulez un démarrage rapide, les jeux de données organisés sont vos amis. Des sites web comme DocNow Catalog (https://catalog.docnow.io/) offrent des collections d'ID de tweets sur une large gamme de sujets. Bien que ces jeux de données n'incluent pas le contenu complet des tweets, vous pouvez utiliser un processus appelé "hydratation" pour restaurer ces ID de tweets à leur pleine forme, à condition que les tweets soient toujours en ligne.
Hydrater des tweets : l'approche par outil puissant
Pour hydrater des ID de tweets, vous aurez besoin d'un outil tiers. Twarc est un favori de la communauté pour les utilisateurs de la ligne de commande. Une fois installé, pointez-le simplement vers votre liste d'ID de tweets et laissez-le récupérer autant de données que votre niveau d'accès actuel le permet.
Premiers pas avec Twarc (et amis)
Si vous êtes nouveau dans tout cela, ne vous inquiétez pas. Il existe de nombreux tutoriels accessibles aux débutants pour vous guider dans l'installation et l'utilisation d'outils comme Twarc. Avec ces stratégies, vous pouvez maintenir votre recherche Twitter en cours, même lorsque les portes habituelles sont fermées.
Parcourir les tweets : comment fonctionne la pagination
Voici une vérification rapide de la réalité : Twitter ne va pas vous envoyer tous les tweets en un seul avalanche géant. Au lieu de cela, les résultats arrivent dans des "pages" gérables, avec les tweets les plus récents arrivant en premier.
Les jetons de pagination sont votre clé pour parcourir le reste des résultats. Après chaque appel d'API, vous recevrez une réponse qui peut inclure un next_token dans la section "meta". Ce token agit comme un signet.
Voici comment cela se présente en pratique :
Effectuez votre requête initiale au point de terminaison.
Si la réponse inclut un next_token, ajoutez-le comme paramètre à votre prochaine requête.
Répétez : avec chaque nouvelle réponse, continuez à saisir le next_token et à l'utiliser pour votre prochain appel.
Arrêtez quand le next_token disparaît. Félicitations, vous avez atteint la fin des résultats disponibles !
Conseil : Pour être un bon utilisateur de l'API et éviter les limites de débit, il est judicieux d'ajouter une brève pause d'environ cinq secondes entre les requêtes.
Conseils pro pour la collecte de tweets en temps réel
Quelques mots de sagesse avant de vous lancer dans la récupération de tweets en temps réel : Tous les tweets ne sont pas créés égaux, ou accessibles ! Le point de terminaison de recherche récente ne renvoie que les tweets accessibles au public.
Pour éviter de vous noyer dans des données non pertinentes ou de manquer des tweets qui comptent, gardez vos règles de requête aussi claires et ciblées que possible. Voici un flux de travail pour y parvenir :
Créez vos requêtes avec soin, pensez précision laser plutôt que filet de pêche.
Exécutez vos recherches initiales et examinez les résultats.
Peaufinez et affinez vos requêtes en fonction de ce que vous trouvez.
Répétez jusqu'à ce que vous voyiez les tweets qui comptent le plus.
Déverrouiller les tweets en temps réel avec since_id
Vous êtes curieux de maintenir vos résultats de recherche frais ? C'est là que le paramètre since_id s'avère utile. En ajoutant since_id à votre requête, vous dites au point de terminaison de recherche récente : "Montrez-moi uniquement les tweets plus récents que cet ID de tweet spécifique." C'est parfait pour interroger Twitter pour les dernières mises à jour sans être submergé de doublons.
Mais attendez, il y a plus : le monde des points de terminaison de l'API Twitter
Bien que le point de terminaison de recherche récente soit un favori, l'API Twitter est une vaste métropole de points de terminaison, chacun offrant des façons uniques de collecter ou d'agir sur les données. Que vous soyez un scientifique des données, un développeur ou simplement dangereusement curieux, il vaut la peine de savoir ce qui existe.
Certains points de terminaison vous permettent de collecter des données, pensez aux tweets, profils utilisateur ou volumes de tweets. D'autres vous permettent de prendre des mesures, publier ou supprimer des tweets, aimer et ne plus aimer, ou suivre et ne plus suivre des comptes.
Pour les passionnés de données, portez une attention particulière aux points de terminaison comme :
Recherche récente : Récupérez des tweets des 7 derniers jours.
Flux filtré : Surveillez les tweets en temps réel au fur et à mesure qu'ils sont publiés.
Chronologie de tweets utilisateur : Récupérez les tweets récents d'un utilisateur spécifique.
Consultation d'utilisateur : Obtenez des informations de profil utilisateur en masse.
Vous pouvez toujours consulter la feuille de route officielle de l'API pour voir quels points de terminaison sont en cours de développement et quand vous pourrez les essayer.
Prochaines étapes : votre voyage avec l'API Twitter continue
Félicitations ! Vous êtes maintenant équipé pour récupérer et filtrer des tweets comme un professionnel. Mais pourquoi s'arrêter là ? Voici où aller ensuite :
Explorer d'autres points de terminaison
Essayez le point de terminaison Filtered Stream pour la surveillance des tweets en temps réel
Utilisez le point de terminaison User Tweet Timeline pour récupérer les tweets récents d'un utilisateur
Consulter la feuille de route de l'API Twitter
Visitez la feuille de route officielle de l'API Twitter pour voir les fonctionnalités à venir
Restez en avance en préparant les points de terminaison et fonctionnalités futurs
Ressources pour aller plus loin
Plongez dans la documentation de l'API Twitter pour des informations approfondies
Rejoignez la communauté Twitter Developer pour vous connecter avec d'autres développeurs
Regardez des tutoriels vidéo sur la chaîne YouTube de Twitter Developer
N'oubliez pas que le monde des données Twitter est vaste et en constante évolution. Continuez à expérimenter, restez curieux et n'ayez pas peur d'essayer de nouvelles choses. Votre prochain grand projet ou votre prochaine recherche révolutionnaire pourrait n'être qu'à une requête de distance !
Conclusion
Et voilà ! Vous êtes maintenant équipé pour plonger dans l'API Twitter et commencer à récupérer des tweets comme un professionnel. De la configuration de votre compte développeur à la création de la requête parfaite, vous avez les bases en main. N'oubliez pas que ce n'est que le début de votre voyage avec l'API Twitter. Continuez à explorer, à expérimenter et à repousser les limites de ce que vous pouvez faire avec cet outil puissant. Que vous construisiez la prochaine grande application de médias sociaux ou meniez des recherches révolutionnaires, l'API Twitter est à votre disposition. Alors allez-y, codez sans crainte, et que vos tweets soient toujours abondants !
Foire aux questions
Pourquoi choisir Qodex.ai ?
Qodex.ai simplifie et accélère le processus de test des API en tirant parti d'outils alimentés par l'IA et de l'automatisation. Voici pourquoi il se distingue :
- Automatisation alimentée par l'IA
Atteignez 100 % d'automatisation des tests API sans écrire une seule ligne de code. L'IA de pointe de Qodex.ai réduit les efforts manuels, offrant une efficacité et une précision inégalées.
- Plateforme conviviale
Importez facilement des collections API depuis Postman, Swagger ou des journaux d'application et commencez à tester en quelques minutes. Pas de courbe d'apprentissage abrupte ni d'expertise technique requise.
- Scénarios de test personnalisables
Que vous utilisiez la génération de tests assistée par l'IA ou créiez des cas de test manuellement, Qodex.ai s'adapte à vos besoins. Créez des scénarios robustes adaptés aux exigences de votre projet.
- Surveillance et rapports en temps réel
Obtenez des informations instantanées sur la santé des API, les taux de réussite des tests et les métriques de performance. Nos tableaux de bord intégrés vous assurent un contrôle permanent.
- Outils de collaboration évolutifs
Conçu pour des équipes de toutes tailles, Qodex.ai propose des plans de test, des suites et de la documentation favorisant une collaboration fluide.
- Efficacité en termes de coûts et de temps
Économisez du temps et des ressources en éliminant la surcharge des tests manuels. Avec l'automatisation de Qodex.ai, vous pouvez vous concentrer sur l'innovation tout en réduisant les coûts opérationnels.
- Compatibilité CI/CD
Intégrez facilement Qodex.ai dans vos pipelines CI/CD pour garantir des tests automatisés cohérents tout au long de votre cycle de développement.
Comment valider une adresse e-mail avec une regex Python ?
Vous pouvez utiliser le modèle regex suivant pour valider une adresse e-mail : ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Qu'est-ce qu'un testeur de regex Go ?
Go Regex Tester est un outil spécialisé pour les développeurs permettant de tester et déboguer des expressions régulières dans l'environnement de programmation Go. Il offre une évaluation en temps réel des modèles regex, aidant à un développement efficace des modèles et au dépannage.
Discover, Test, & Secure your APIs 10x Faster than before
Auto-discover every endpoint, generate functional & security tests (OWASP Top 10), auto-heal as code changes, and run in CI/CD - no code needed.
Related Blogs



