Python ライブラリ Tweepy を使用して Twitter データをストリーミングしようとしています。私は物事についてグーグルで作業環境をセットアップしましたが、物事がどのように機能しているかわかりません。Python(tweepy)でスパークストリーミング(DStream - バッチ処理)を使いたいです。私は少なくとも次のリンクを通過しました:
- tweepy 内の特定のハッシュタグのツイートを取得するにはどうすればよいですか?
- http://spark.apache.org/docs/latest/streaming-programming-guide.html
- http://docs.tweepy.org/en/v3.5.0/streaming_how_to.html
- Tweepy を使用した Twitter データの取得
- http://www.awesomestats.in/spark-twitter-stream
次のtweepyコードはうまく機能しています:
import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
politicsTweets = tweepy.Cursor(api.search, q='#GONAWAZGO').items(100)
for tweet in politicsTweets:
print tweet.created_at, tweet.text, tweet.lang
ただし、スパークストリーミングは使用していません。Spark Streaming を使用するには、前述のコードをどのように更新すればよいですか? なぜ 2 つの別々のファイルが必要なのかわかりません。全体として、私は次のことをやろうとしています:
- 2017 年 5 月 1 日の上位 10 個のハッシュタグを取得します。 (Tweepy 検索関数はパラメーター 'since_id' を受け入れますが、その使用方法がわかりません [ http://docs.tweepy.org/en/latest/api.html#help-methods ]? )
- 2013 年 5 月 11 日以降、#GONAWAZGO が何回見つかったか数えてください。
- パキスタン国外の人々によって #gonawazgo が行われた回数を数えてください。(日付制限なしで、Tweepy カーソル メソッドはジオコードを受け入れますが、提供されたジオコード以外の場所からのツイートが必要です。)
- Twitterでフランスの選挙に関するトレンドを観察してください。
- [ https://twitter.com/imrankhanpti ] Twitter アカウントで行われた最新のツイートを検索します。(Tweepy 検索メソッドはユーザー ID を受け入れます。どうすればそれを取得できますか?)
とりわけ、Twitter REST/ストリーミング API をいつ使用するかについて少し混乱しています。日付までの過去のデータを処理しているため、1 番目と 2 番目のポイントについては REST API を使用し、残りの部分についてはストリーミング API を使用する必要があると思います。