問題タブ [twitter-streaming-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
api - パフォーマンス テスト Twitter ストリーミング API コンシューマ
Twitter ストリーミング API を使用してリアルタイムで Twitter 投稿を消費するサービスがあります。
ストリームに接続してつぶやきを Redis にプッシュするバックグラウンド プロセスを構築しました。これはnode.jsで構築されています
私がしなければならないことは、このプロセスが消費できるツイートの最大数を把握することです。このセットアップのパフォーマンスをテストする必要があります。
これをテストする最良の方法は何ですか?
私は知る必要がある:
- 倒れる前に処理できるツイートの数
- プロセスがこれ以上ツイートを処理できなくなった場合に何が起こるか
これを行うもう 1 つの理由は、node.js を使用する価値があるかどうかを判断することです。代わりに EventMachine で記述したいと思います。
twitter - Twitterのレート制限IP/OAuthの懸念
PublicStreamingAPIを使用して主題に関連するすべての用語を収集する一連のWebアプリがあります。これまで、ストリームごとに新しいアカウントを作成し、そのアカウントに新しいTwitterアプリケーションを設定し、OAuthトークンをコピーし、新しいEC2インスタンスを起動し、ストリームを設定するという非常に困難なルートをとってきました。 。
これにより、複数の異なるIPからストリームを取得できます。アプリを作成するときにジェネレーターツールを使用すると、OAuthの生成が簡単になります。また、それぞれが異なるアカウントにあるため、アカウントの制限を満たしていません。
特にEC2インスタンスに関して、プロセスをスピードアップするために私にできることがあるかどうか疑問に思っています。異なるアカウントを使用して同じインスタンスから多数のストリームを実行することはできますか?
python - リクエスト ストリーミングの例が私の環境では機能しません
Python Requests を使用して Twitter Streaming API を使用しようとしています。
ドキュメントに簡単な例があります:
これを実行すると、requests.post()
決して返されません。Twitter に確実に接続し、API からデータを受信していることを実験して証明しました。ただし、応答オブジェクトを返す代わりに、Twitter が送信するのと同じ量のデータを消費するだけです。requests.post()
上記のコードから判断すると、リアルタイムの結果を引き続き受け取ることができる Twitter down へのオープンな接続を持つ応答オブジェクトを返すことが期待できます。
(データを受信していることを証明するために、別のシェルで同じ資格情報を使用して Twitter に接続すると、Twitter は最初の接続を閉じ、呼び出しは応答オブジェクトを返しました。このr.content
属性には、接続が開いている間に受信したすべてのバックアップ データが含まれていました。 )
requests.post
ドキュメントには、提供されたすべてのデータを消費する前に返すために必要な他の手順については言及されていません。他の人は、この問題に遭遇することなく同様のコードを使用しているようです。
私は使用しています:
- パイソン 2.7
- Ubuntu 11.04
- リクエスト 0.14.0
twitter - Amazon Elastic Compute Cloud (Amazon EC2) で Twitter ストリーミング API をホストすることの長所と短所は何ですか?
私の研究プロジェクトのために、ツイートを分析するための感情分析ツールを書いています。
私の質問は次のとおりです: Amazon Elastic Compute Cloud (Amazon EC2) で Twitter ストリーミング API をホストすることの長所と短所は何ですか?
マイクロ (無料) パッケージで十分でしょうか? ツイッターに関しては、誰でも経験がありますか?
助けてくれてありがとう
クリス
twitter - Twitter ストリーミング API のトラック キーワードでバイグラムが正確に一致するようにスペースをエンコードする
Twitter ストリーミング API を使用しています。単一の単語に対してはうまく機能しますが、正確なバイグラム (2 つの単語の文字列) でフィルタリングすることはできないようです。
一般的に組み合わせて使用される一般的な単語を検索して、これをテストしています。
これは URL です: (OAuth ログインが必要です):
https://stream.twitter.com/1.1/statuses/filter.json?track=keywords_go_here
動作しないもの:
これを機能させるためのアイデアはありますか?
編集: 誰かが 2010 年初頭にこれに答えました: Twitter ストリーミング API - 正確な複数のキーワードを正確な順序で追跡しますが、この問題に関する更新はありますか?
python - Tweepyを使用したTwitterストリーミングAPIはoauthを拒否します
Tweepyを不適切に使用しているときに、以前作業していたTwitterストリームにアクセスしようとしています。Tweepyの使用目的が理解できたので、次のStream.pyモジュールを作成しました。実行すると、認証が拒否されたことを示すエラーコード401が表示されます。しかし、私は以前に同じ消費者トークンとシークレットで動作させました。何か案は?
python - Python-ソケットタイムアウトの理由?ネットワーク接続が失われたり、何も読み取れなかったりしますか?
基本的に:ソケットに何も配信されていないため、またはネットワーク接続がダウンしているためにソケットがタイムアウトしたことを通知する方法はありますか(Python 2.7)?
長期間(> 30日)TwitterStreamingAPIに接続するPythonアプリケーションがあります。アプリは、ツイートが配信されるたびにソケットのバッファーから読み取りますが、ツイートが配信されない場合、readコマンドはタイムアウトして。をスローしSSLError
ます。
読み取り/タイムアウトが発生するスニペットは次のとおりです。
作成時にタイムアウトを設定しましたがHTTPSConnection
、現在は30秒に設定されています。したがって、ツイートが30秒間読み取られない場合、resp.read
コマンドはタイムアウトしてSSLErrorをスローするので、無視し(Noneを返すことで、これはこのスニペットから1レベル上で処理されます)、さらに30秒間再度読み取ります。問題は、ネットワークが切断された場合、すぐに再接続されたとしても、ソケットが再び読み取りを開始するようには見えず、タイムアウトし続けることです。これを解決する唯一の方法は、再接続することです。これは、ネットワークの切断がまれであるため、問題ありません。タイムアウトを非常に高く設定し、タイムアウトごとに再接続することもできますが、誰かがネットワークケーブルを引っ張ったという理由だけで、アプリケーションが機能しない時間が長くなります。ダウンタイムを最小限に抑えるためにタイムアウトを低く設定することもできますが、ツイートが読み取られないときに不必要に再接続しています。
スローされたSSLErrorに基づいて理由を区別する方法はありますか?
android - TwitterStreamingAPIとTwitterライブイベントストリーミングの検索
内部にTwitterフィードを提供し、リツイート、お気に入り、ツイートへの返信を可能にするAndroidアプリを提供します。検索APIとストリーミングAPIがあることを理解しています。これは主要なライブイベントであり、検索APIが最適な方法なのか、ストリーミングAPIの方が優れているのか疑問に思っていました。
つまり、基本的にライブイベントのAndroidアプリ内には、ユーザーがリツイートできるように読み取られるTwitterフィードがあります。つまり、アプリ内の小さなTwitterクライアントのようなものです。ストリーミングはここに行く方法ですか、それともその価値よりも厄介で、検索APIはある種のポーリングで優れていますか?
python - ストリーミング API で 420 秒を回避しますか?
基本認証を使用して Twitterストリーミング APIにフックし、 tweetstreamモジュールを利用する Python スクリプトがあります。
1分間に約10件のツイートを集めています。
断続的な切断が発生していたので、現在、切断の頻度を記録しています。
レート制限に達しており、420 HTTP エラーが発生しています。
検索 API の場合、OAuth 認証を使用するとより高いクォータが得られることはわかっています。ストリーミングについては、basic と OAuth の間のレート制限の違いに関する参照が見つかりませんでした。とにかく、私が使用している python Tweetstream は、ストリーミング API でこれをサポートしていないようです。
Ruby版のTweetstreamがOAuthに対応していることに気づきましたが、Pythonの学習体験としてこのプロジェクトをやっています。
Twitterのヘルプを読むと、「バックオフ戦略」について言及され、次のように言及されています。
HTTP 420 応答を受信した場合は、それ以上の接続試行を数分間停止することが不可欠です。
エラーが発生しなくなりましたが、これらのエラーが永続的に発生しないように、コードでより良いロジックを作成しようとしています。
私の現在の提案は以下のとおりです。これは、再接続を試みる前に 200 秒待機します。
私の質問は、これは Twitter から 420 エラーを受け取ることを回避する良い方法ですか? Twitter API に詳しい方にお勧めの方法を教えてください。
twitter4j - twitter4jを使用してtwitterストリームAPIのキーワードを変更するには?
ストリーム API に接続するために twitter4j を使用しています。
この投稿から、ストリームを再開せずに Twitter ストリーム フィルターのキーワードを変更することから、接続が開いている間にキーワードを変更する方法がないことを理解しています。フィルター述語を切断して変更し、再接続する必要があります。
接続を切断し、キーワードを変更して再接続できるコード サンプルがあるかどうかを知りたいのですが。
現在、onStatus() の下の StatusListener でこれを実行しようとしました。X 時間が経過すると、キーワードが「ジュース」に変更されます。しかし、接続を閉じて Stream API に再接続する方法はありません。