5

研究プロジェクトとして、Python-Twitter を使用してツイートを収集しています。ただし、プログラムを 1 台のコンピューターで 1 週間ノンストップで実行すると、1 週間に約 20 MB のデータしか収集できません。同じツイートを 2 回収集しないように、このプログラムを 1 台のマシンでのみ実行しています。

このプログラムは、60 秒ごとに getPublicTimeline() を呼び出すループを実行します。パブリック タイムラインに表示された一部のユーザーに対して getUserTimeline() を呼び出して、これを改善しようとしました。ただし、これにより、毎回約30分間、ツイートの収集がまったく禁止されました. 禁止がなくても、このコードを追加することによるスピードアップはほとんどないように見えました。

ユーザーが 1 時間あたりにより多くのリクエストを送信できるようにする、Twitter の「ホワイトリスト」について知っています。私は約 3 週間前にこれを申請しましたが、それ以来何の連絡もありません。そのため、私たちのプログラムが標準のレート制限を超えることなく、より効率的にツイートを収集できる代替手段を探しています。Twitter から公開ツイートをすばやく収集する方法を知っている人はいますか? 週に約 100 MB を取得したいと考えています。

ありがとう。

4

3 に答える 3

5

ストリーミング APIを使用してみませんか?これは、まさに対処するために作成されたユースケースです。ストリーミング API を使用すると、数メガバイトのツイートを問題なく収集できます。ただし、Twitter からのアクセス許可がなければ、すべてのツイートや統計的に有意なサンプルにアクセスすることはできません。

于 2010-11-22T20:17:35.610 に答える
1

ツイートからのデータを分析する同様のプロジェクトを行いました。純粋なデータ収集/分析の観点からこれを行っている場合は、さまざまな理由でこれらのツイートを収集する優れたサイトをスクレイピングすることができます. 多くのサイトではハッシュタグで検索できるので、十分に人気のあるハッシュタグを入れると、何千もの結果が得られます. これらのサイトのいくつかをスクレイピングして人気のあるハッシュタグを探し、これらを大きなリストに集め、そのリストをサイトに対してクエリし、結果から使用可能なすべての情報をスクレイピングしました. 一部のサイトでは、データを直接エクスポートできるため、この作業がさらに簡単になります。おそらくフィルタリングが必要な大量の不要な結果 (スパム、外国語など) が得られますが、これが私たちのプロジェクトで最も迅速に機能した方法でした。Twitter はおそらくホワイトリストに登録されたステータスを付与しません。

于 2010-11-22T21:39:04.813 に答える
1

ストリーミング API n Python の使用に関する ars technica からの非常に優れたチュートリアルがあり、ここで役立つ可能性があります。

それ以外の場合は、経由で試しみることができますcURL

.

于 2011-11-03T14:30:18.683 に答える