質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

704閲覧

twitter のストリーミングでタイムラインを取得する方法が分からない

comet0310

総合スコア59

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/06 08:52

編集2020/07/06 15:58

こちらのコードにて
r = session.post(uri, data=dict(track="Python"), stream=True)
とするとPythonという文字を含んだtweetを取得できるのが分かるのですがタイムラインを取得する方法が分かりません。
上記の部分の引数にtimelineを指定するようなものを選択すれば良いのでしょうか。
また、ユーザーを指定してtweetを取得すれば良いのでしょうか。
ストリーミングについて無知で見当違いの事を言っているかも知れませんがお知恵をお貸しいただけると幸いです。

やりたい事としてはタイムラインのtweetをなるべく早く取得したいです。

python3

1import json 2import requests_oauthlib 3 4uri = 'https://stream.twitter.com/1.1/statuses/filter.json' 5 6# 自分の環境用に置き換える 7consumer_key = 'your consumer key' 8consumer_secret = 'your consumer secret' 9access_token = 'your access token' 10access_token_secret = 'your access token secret' 11 12 13def main(): 14 session = requests_oauthlib.OAuth1Session( 15 consumer_key, consumer_secret, access_token, access_token_secret 16 ) 17 # "Python"が含まれるツイートを取得. 'stream=True'は必須. 18 r = session.post(uri, data=dict(track="Python"), stream=True) 19 for line in r.iter_lines(): 20 status = json.loads(line.decode("utf-8")) 21 for k, v in status.items(): 22 print(k, ":", v) 23 print("------------------------------") 24 25 26if __name__ == '__main__': 27 main()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

comet0310

2020/07/06 15:57

やりたい事としてはタイムラインのtweetをなるべく早く取得したいです。方法としてはストリーミングが使えないという事は高頻度で定期実行をする事でしょうか。もっと効率的な方法があるならば教えていただきたいです。よろしくお願い致します。
quickquip

2020/07/06 23:50 編集

TwitterAPIにはいくつかの「タイムライン」が登場します。 自分がフォローしている人のツイート群という意味で合っているのでしょうけれども、質問する時に使う語としては具体的ではなくて解釈を要します。 なるべく早く取得したい、というのはTwitterクライアントのようにその時刻の直前のツイートを取得したいといことでしょうか。 「やりたいことの方を具体的に」と書いたのは「Twitterクライアントのように表示したい」とか「ファイルに保存しておきたい」とかそういう意味でした。「ツイートを取得する」というのは「やりたいこと」ではなくて手段に近い方の表現かと思います。
comet0310

2020/07/07 06:01

私が意図したタイムラインはおっしゃる通りで自分がフォローしている人のツイート群を取得したいという意味です。 やりたい事もおっしゃる通りでTwitterクライアントのようにその時刻の直前のツイートを取得したいといことです。 説明が足りず申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問