web-dev-qa-db-fra.com

Comment récupérer des tweets en ligne de commande?

Existe-t-il un moyen simple de récupérer les tweets de quelqu'un depuis la ligne de commande?

Le compte serait public et la commande - ou le script, si nécessaire - récupèrerait tous ou un nombre spécifié de tweets les plus récents dans un fichier texte, un Tweet par ligne, sans les métadonnées, les plus récentes de la première ligne.

Sans l'utilisation de l'API, seulement bash.

11
Strapakowsky

Si vous ne souhaitez pas utiliser l'API Twitter, vous pouvez récupérer le flux RSS du profil Twitter à l'aide d'un script bash, puis le formater à partir de là.

Depuis que l'API Twitter décourage le flux RSS, vous pouvez contourner ce problème en générant un flux RSS à l'aide des résultats de la recherche.

Voici le flux RSS de mes tweets .


Vous devrez cependant mettre en place le script bash nécessaire. De récupérer le flux RSS à la mise en forme des tweets selon vos besoins.

5
jokerdino

Ceci est mon script fait pour l'utilisation d'économiseur d'écran

#!/bin/bash

user="$1"
user="${user:=pontifex_pl}"

last_status_url=$(lynx -dump https://Twitter.com/$user \
    | grep -i "$user/status/" \
    | head -1 \
    | awk '{print $2}')

lynx -dump "$last_status_url" \
    | grep 'Twitter:' -m1 -A4 \
    | tr -d '\n' \
    | sed -e 's/[^"]*"//' -e 's/".*//' \
    | tr -s ' '

echo
2
tworec

Vous pouvez utiliser twarc pour donner un exemple si vous souhaitez archiver les tweets de Nassim Nicholas Taleb que vous utilisez.

twarc timeline nntaleb --format csv> taleb.csv 

Vous pouvez également utiliser d'autres formats: --format {json,csv,csv-Excel}

Comment configurer twarc: La seule façon d'obtenir l'intégralité des tweets consiste à utiliser le API malheureusement, même si l'application est transparente, vous devez disposer d'une configuration initiale. , vous devez également demander le API (

À compter de juillet 2018, vous devez demander un compte de développeur Twitter et être approuvé avant de créer de nouvelles applications.

)

Une fois , vous avez vos clés d’application , vous pouvez indiquer à twarc ce qu’elles sont avec la commande configure.

twarc configure

Cela stockera vos identifiants dans un fichier nommé .twarc dans votre répertoire de base afin que vous n'ayez pas à les entrer. Si vous préférez les fournir directement, vous pouvez les définir dans l'environnement (CONSUMER_KEY , CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET) ou à l'aide des options de ligne de commande (--consumer_key, --consumer_secret, --access_token, --access_token_secret).

1
Eduard Florinescu

Vous pouvez suivre la route python + tweepy en:

  1. Création de votre propre application Twitter (Pour obtenir les clés de l'API)
  2. Créer des jetons d'accès pour votre compte Twitter
  3. Utilisez un script tel que celui-ci avec vos informations d'identification: https://Gist.github.com/yanofsky/5436496

Je viens de le tester et cela fonctionne très bien. Il existe cependant des utilisateurs qui protègent leurs tweets, de sorte que cela ne vous laissera peut-être pas tout télécharger. Mais c'est une caractéristique de Twitter.

La limite est toujours 3200 et vous obtenez un fichier CSV.

1
Andrei

J'ai créé un outil qui devrait faire presque exactement ce que vous avez décrit: Twitter-screen-scrape . Par défaut, il sortira en JSON, avec des métadonnées, mais il est trivial de diriger la sortie à travers quelque chose comme nderscore-cli pour supprimer tout ce que vous ne voulez pas.

$ Twitter-screen-scrape -u slang800 | underscore pluck text --outfmt text > outputfile
1
slang