1

この以前の投稿を見ましたが、コードを機能させるために答えを適応させることができませんでした。

bruins という用語でフィルタリングしようとしていますが、Windows マシンでの認証のために cacert.pem を参照する必要があります。最後に、各応答を解析する関数 (my.function) を作成し、これも含める必要があります。

postForm("https://stream.twitter.com/1/statuses/sample.json", 
       userpwd="user:pass",
       cainfo = "cacert.pem",
       a = "bruins",
       write=my.function)

私は R 内に完全にとどまりたいと思っていますが、残念ながら Windows を使用する必要があります。

簡単に言えば、応答がフィルタリングされるように、必要な検索用語をどのように含めることができますか?

前もって感謝します。

4

5 に答える 5

3

さて、私はあなたが何をしているのかを見てきました。あなたが取り組んでいることのいくつかは、Twitter API メソッドを調べることで役立つかもしれませんが、いくつかの例を R に変換する方法を理解するのは難しいかもしれません(RCurl パッケージ経由)。

あなたが現在試みていることは、あなたがしなければならないことに非常に近いものです。単に 2 つのことを変更する必要があります。

まず、ステータスのランダム サンプルの URL をクエリしています。この URL は、全ツイートの約 1% のランダム サンプルを返します。

特定のキーワードに関するツイートのみを収集することに関心がある場合は、フィルター API の URL "https://stream.twitter.com/1/statuses/filter.json" を使用します。

それを変更した後、パラメータを「a」から「postfields」に変更するだけで、渡すパラメータは「track=bruins」のようになります。

最後に、getURL 関数を使用して継続的なストリームを開く必要があります。これにより、postForm コマンド (HTML フォームを対象としていると思われます) を使用するのではなく、キーワードを含むすべてのツイートを収集できます。

したがって、最終的な関数呼び出しは次のようになります。

getURL("https://stream.twitter.com/1/statuses/filter.json", 
   userpwd="Username:Password",
   cainfo = "cacert.pem",
   write=my.function,
   postfields="track=bruins")
于 2012-01-26T19:03:35.043 に答える
0

ゲームに遅れていることはわかっていますが、Twitter のストリーミング API にアクセスするには、「streamR」パッケージを使用することをお勧めします。

于 2013-06-25T20:02:56.343 に答える
0

前回確認したところ、twitteR はストリーミング API と通信していませんでした。さらに、私の知る限り、公開されている Twitter ストリーミング API 接続ライブラリは、ストリーミングが切断された場合やエラーがスローされた場合の再接続に関する Twitter の推奨事項を尊重するものはほとんどありません。

私の推奨事項は、積極的に維持されているライブラリを介してストリーミングにアクセスし、必要に応じて再接続プロトコルを自分で作成し、JSON をネイティブに処理するデータベースにデータを永続化することです。私はこの種のプロジェクトに着手しようとしており、Perl でコレクターを作成し、独自の再接続ロジックを実行し、PostgreSQL または MongoDB に永続化します。ほとんどの場合、MongoDB になります。PostgreSQL は 9.2 までネイティブ JSON を取得しません。

于 2012-05-08T22:49:20.420 に答える
0

twitter を操作するには、twitteRパッケージを使用します。

library(twitteR)
searchTwitter("bruins")

cainfoへの呼び出しに他のパラメータ ( など) を含めることができ、searchTwitterそれらは下に渡される必要がありgetFormます。

于 2012-01-10T10:23:12.750 に答える
0

ストリーミング API は現在 twitteR に含まれているとは思いません。検索 API は異なります (ストリーミングは「現在の検索」ですが、後方検索です)。

私の理解では、ストリーミングは、多くの API が通常どのように機能するかとはかなり異なります。Web サービスからデータを取得して定義済みのオブジェクトを返すのではなく、Twitter がデータをプッシュする「パイプ」を設定し、その応答をリッスンします。

OAuth についても心配する必要があると思います (これは twitteR が処理します)。

Rに残しておきたい理由はありますか?私はストリーミング API と tweepy と呼ばれるパッケージで python をうまく使用して、データを MySQL データベースに書き込み、R を使用してデータのクエリと分析を行いました。

于 2012-01-10T15:12:58.380 に答える