Passer au contenu principal

Récupérer les tweets d'un compte Twitter public

Mis à jour il y a plus de 7 mois

Avec 211 millions d'utilisateurs actifs quotidiens rapportés, Twitter a prouvé sa valeur dans le marketing sur les réseaux sociaux. Les utilisateurs de Twitter publient en moyenne 6000 tweets chaque seconde, soit plus de 500 millions de tweets publiés chaque jour. Tout ce brouhaha et ce bruit constituent un coffre au trésor rempli d'informations précieuses pour les spécialistes du marketing, les marques, les chercheurs et les analystes. Les spécialistes du marketing et les marques collectent souvent des données sur Twitter provenant de comptes spécifiques (influenceurs et concurrents) pour analyser l'engagement et élaborer des stratégies efficaces.

En raison de la forte demande, ce tutoriel est le deuxième d'une série de tutoriels préparés par l'équipe d'Octoparse pour les utilisateurs ayant besoin de données Twitter.

Dans cet article, nous allons vous apprendre à scraper les tweets d'un compte public.

Si vous ne souhaitez pas vous embêter à créer un crawler personnalisé, vous pouvez rechercher un modèle de tâche Twitter prêt à l'emploi depuis l'écran principal pour gagner du temps.

Si vous souhaitez savoir comment créer la tâche depuis zéro, vous pouvez continuer à lire le tutoriel suivant ou regarder la vidéo ci-dessous.

Vous pouvez utiliser le lien d'exemple suivant pour suivre le processus :


1. Créez une action "Aller à la page Web" - pour ouvrir le lien Twitter cible

Chaque workflow dans Octoparse commence par indiquer à Octoparse quelle page Web ouvrir en premier.

  • Entrez l'URL d'exemple dans la barre de recherche en haut de l'écran d'accueil et cliquez sur Démarrer.


2. Connectez-vous à Twitter en mode de navigation - pour enregistrer les cookies d'authentification.

Twitter interdit l'accès direct aux listes de followers/abonnements à moins que vous ne soyez connecté au préalable.

  • Activez le mode de navigation et connectez-vous à Twitter comme vous le feriez dans un navigateur normal (Veuillez utiliser votre compte Twitter pour vous connecter).

mceclip4.png
  • Cliquez sur l'action Aller à la page Web pour ouvrir son panneau de paramètres (situé en bas à droite).

  • Allez dans l'onglet Options et cochez Utiliser cookie.

  • Cliquez sur Utiliser le cookie de la page actuelle.

  • Cliquez sur Appliquer pour enregistrer les paramètres.

mceclip5.png
  • Désactivez le mode de navigation.

mceclip3.png

Nous avons maintenant réussi à enregistrer les informations de connexion dans le workflow de la tâche afin que notre compte Twitter puisse se connecter lorsque nous exécutons la tâche.


3. Créer un élément de boucle - pour parcourir en boucle chaque tweet

Ensuite, nous devons créer une boucle pour tous les tweets.

  • Sélectionnez le premier tweet sur la page web (veillez à sélectionner le bloc entier du tweet, la couleur deviendra verte si vous sélectionnez le tweet entier).

  • Continuez à sélectionner le deuxième tweet.

  • Choisissez "Texte" dans le panneau des conseils.


4. Créer un autre élément de boucle - pour faire défiler la page web

Le mode de défilement infini de Twitter est conçu pour charger le contenu dynamiquement, ce qui nécessite quelques ajustements dans le workflow de la tâche pour minimiser la perte de données.

  • Ajouter un nouvel élément de boucle dans le flux de travail

  • Faites glisser la boucle originale à l'intérieur de la nouvelle boucle (élément de boucle à l'intérieur de l'élément de boucle1)

  • Cliquez sur l'élément de boucle 1 et définissez son mode de boucle sur Page de défilement dans l'onglet Général.

77.png
  • Définissez le modèle de défilement sur un écran, temps d'attente 1s, et répétez 100 fois (ou plus).

  • Cochez Capturer des données lors du défilement dynamique de la page (possibly duplicates)(Important !).

  • Cliquez sur "Appliquer" pour confirmer.

1.png


5. Réécrivez certains des XPath - pour localiser les éléments web de manière plus précise

Le XPath généré automatiquement peut ne pas être suffisamment précis. Nous devons donc réécrire le XPath pour certains champs de données.

  • Cliquez sur l'élément de boucle (pas l'élément de boucle 1 !) et saisissez le XPath //article[@role="article"]/../../..


6. Ajoutez plus de champs de données - pour extraire les données souhaitées

  • Cliquez sur Extraire les données.

  • Sélectionnez le texte que vous souhaitez extraire.

  • Choisissez "Texte" dans le panneau des conseils.

  • Répétez l'action et récupérez le nom, l'heure, le texte, la réponse, le retweet, les likes.

  • Double-cliquez sur chaque en-tête de champ pour les renommer.

Vous remarquerez peut-être que l'heure de publication du tweet est affichée sous la forme 3m. Nous devons nettoyer le champ de données pour afficher la date/heure exacte de la publication.

  • Cliquez sur le bouton Plus du champ.

  • Choisissez Personnaliser les champs.

  • Sélectionnez pour extraire l'attribut Datetime".


7.Exécutez la tâche - pour obtenir les données souhaitées

  • Cliquez sur Enregistrer en haut à droite pour sauvegarder votre tâche

  • Cliquez sur Exécuter à côté de la tâche et attendez que la fenêtre Exécuter la tâche apparaisse

  • Sélectionnez Exécuter sur votre appareil pour exécuter la tâche sur votre appareil local

  • Attendez que la tâche soit terminée


Voici le résultat d'une exécution locale:

Astuce : Il est normal d'obtenir des doublons, car chaque fois que la page défile, elle charge seulement un ou deux nouveaux tweets.

Les exécutions locales sont idéales pour résoudre les problèmes des tâches et pour des exécutions rapides. Si vous travaillez sur des tâches plus complexes, il est recommandé de sélectionner Exécuter dans le cloud pour exécuter la tâche sur la plateforme cloud d'Octoparse afin d'obtenir une meilleure vitesse. Essayez cette fonctionnalité premium en vous inscrivant à l'essai gratuit de 14 jours ici. Vous pouvez également programmer votre tâche pour qu'elle s'exécute toutes les heures, tous les jours ou toutes les semaines et recevoir les données de manière régulière.

Avez-vous trouvé la réponse à votre question ?