web-dev-qa-db-ja.com

コマンドラインからツイートを取得する方法は?

コマンドラインから誰かのツイートを取得する簡単な方法はありますか?

アカウントは公開され、コマンド(または必要に応じてスクリプト)は、メタデータなしで1行に1ツイートずつ、最初の行の最新のすべてまたは指定された数の最新のツイートをテキストファイルに取得します。

APIを使用しない場合、bashのみ。

11
Strapakowsky

Twitter APIを使用したくない場合は、bashスクリプトを使用してTwitterプロファイルのRSSフィードを取得し、そこからフォーマットを開始できます。

Twitter APIはRSSフィードを非推奨にしているため、検索結果を使用してRSSフィードを生成することで回避できます。

私のツイートのRSSフィード です。


ただし、必要なbashスクリプトをまとめる必要があります。 RSSフィードの取得から、要件に応じたツイートの書式設定まで。

5
jokerdino

これはスクリーンセーバー用に作成された私のスクリプトです

#!/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

twarc を使用して、使用するNassim Nicholas Talebのツイートをアーカイブする場合の例を挙げることができます。

twarc timeline nntaleb --format csv> taleb.csv 

他の形式も使用できます:--format {json,csv,csv-Excel}

twarcの設定方法:完全なツイートを取得する唯一の方法は、アプリが透過的であってもAPIを使用することです最初のセットアップと設定が必要です、API

2018年7月の時点で、新しいアプリを作成する前にTwitter開発者アカウントを申請し、承認される必要があります。

一度 アプリケーションキーを取得しました configureコマンドを使用して、twarcの内容を確認できます。

twarc configure

これにより、ホームディレクトリの.twarcというファイルに資格情報が保存されるため、入力し続ける必要はありません。直接提供する場合は、環境で設定できます(CONSUMER_KEYCONSUMER_SECRETACCESS_TOKENACCESS_TOKEN_SECRET)またはコマンドラインオプション(--consumer_key--consumer_secret--access_token--access_token_secret)を使用します。

1

次の方法でpython + tweepyルートに移動できます:

  1. 独自のTwitterアプリケーションの作成 (APIキーを取得するには)
  2. Twitterアカウントのアクセストークンを作成する
  3. 次のようなスクリプトを資格情報とともに使用します。 https://Gist.github.com/yanofsky/5436496

私はちょうどそれをテストし、それは素晴らしい作品です。ただし、ツイートを保護するユーザーがいるため、すべてをダウンロードできない場合があります。しかし、それはTwitterの機能です。

制限はまだ3200で、CSVファイルを取得します。

1
Andrei

あなたが説明したことをほぼ正確に行うツールを作成しました: Twitter-screen-scrape デフォルトでは、メタデータ付きでJSONで出力されますが、出力を nderscore-cli のようなものにパイプするのは簡単で、不要なものをすべて取り除くことができます。

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