Como recuperar tweets da linha de comando?

8

Existe uma maneira simples de recuperar os tweets de alguém na linha de comando?

A conta seria pública, e o comando - ou script, se necessário - recuperaria todos ou um número especificado dos tweets mais recentes para um arquivo de texto, um tweet por linha, sem os metadados, o mais novo na primeira linha .

Sem o uso de API, apenas bash.

    
por Strapakowsky 01.11.2012 / 08:55

5 respostas

5

A partir de uma data de fechamento, o Twitter não permitirá que você entre em sua API sem ter uma chave OAuth. Mas, como solução alternativa, você pode usar a Search API. É RESTful, portanto, você pode usar curl para recuperar os resultados da pesquisa no formato JSON. Por exemplo, se você deseja recuperar os tweets do @ java e salvá-lo no arquivo ~/.tweets , esta linha de código pode ser usada:

curl http://search.twitter.com/search.json?q=from:java&page=1&rpp=10&callback=? >> $HOME/.tweets

E você pode analisar o arquivo usando qualquer analisador JSON.

O parâmetro rpp é o número de tweets a serem recuperados. callback é uma função javascript a ser executada no JSON resultante. Caso você não esteja usando JavaScript com a API, você pode deixá-lo, mas não o remova. Eu vou causar um erro. Mais orientações sobre a API de pesquisa podem ser encontradas no link

Existem ferramentas para analisar o JSON a partir da interface da linha de comandos. Embora eu nunca tenha usado um, vou colocar alguns links para alguns recursos, para ajudá-lo a descobrir a ferramenta mais adequada:

E como uma pequena nota, é mais rápido usar algum Python ou Ruby (ou outros).

    
por user91091 03.11.2012 / 06:29
3

Se você não quiser usar a API do Twitter, pode pegar o feed RSS do perfil do Twitter usando um script bash e, em seguida, continuar a formatá-lo a partir dele.

Como a API do Twitter descontinuou o feed RSS, você pode solucionar isso gerando um feed RSS usando os resultados da pesquisa.

Aqui está o feed RSS dos meus tweets .

Você teria que montar o script bash necessário. De buscar o feed RSS para formatar os tweets de acordo com seus requisitos.

    
por jokerdino 03.11.2012 / 06:15
1

Este é o meu script feito para o uso da proteção de tela

#!/bin/bash

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

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

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

echo
    
por tworec 29.03.2017 / 13:36
0

Eu fiz uma ferramenta que deveria fazer quase exatamente o que você descreveu: twitter-screen-scrape . Por padrão, ele será exibido em JSON, com metadados, mas é trivial enviar a saída por meio de algo como sublinhado-cli para remover tudo que você não quer.

$ twitter-screen-scrape -u slang800 | underscore pluck text --outfmt text > outputfile
    
por slang 02.04.2015 / 19:03
0

Você pode usar a rota python + tweepy por:

  1. Criando seu próprio aplicativo do Twitter (para obter chaves de API)
  2. Crie tokens de acesso para sua conta do Twitter
  3. Use um script como este junto com suas credenciais: link

Eu apenas testei e funciona muito bem. No entanto, existem usuários que protegem seus tweets, por isso pode não permitir o download de tudo. Mas isso é uma característica do twitter.

O limite ainda é 3200 e você recebe um arquivo CSV.

    
por Andrei 19.06.2018 / 12:53