1

私はPythonが初めてなので、この質問は正しい方向性を得ることです。私がやりたいことは、Twitter ハンドルに送信されたクエリに自動的に応答するアプリケーションを作成することです。これにはTweepyを使用しています。私の手順は次のとおりです。

  1. 私のハンドル名について言及しているツイートを聞いてください
  2. ツイートを収集して分析する
  3. 自動返信を作成する
  4. 返信を Twitter に投稿する

ステップ 2 と 3 のために Web サービスに接続し、JSON 応答を取得する必要があります。

私の質問は、正しいセットアップについてです。スタンドアロンの Tweepy アプリケーションがこれを本番レベルで処理できると思いますか? または、これのためにサーバーの実装を行う必要がありますか? 2番目の場合は、どうすればそれができるかいくつかのリンクを教えてもらえますか? 私はPythonが初めてです。

4

1 に答える 1

1

ここで見つけた tweepy ストリーミングの例を使用すると、フィルターを編集して「@yourhandle」を検索できます。

以下を追加することで、ツイートした人にアクセスできます。

class CustomStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print status.text
        print status.user.screen_name #<----------------THIS LINE

誰があなたをツイートしたかを表示します。次に、次を使用してステータスの更新を試みることができます。

api.update_status("my update", in_reply_to_status_id = tweetid)

ツイート ID は、次を使用して取得できます。

status.id

コードは次のようになります。

import tweepy
consumer_key = "xxx"
consumer_secret = "xxx"
access_key = "xxx"
access_secret = "xxx"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

class CustomStreamListener(tweepy.StreamListener):
    def on_status(self, status):
        print status.text
        print status.user.screen_name
        api.update_status("Insert Auto Reply Text Here", in_reply_to_status_id = status.id)

    def on_error(self, status_code):
        print >> sys.stderr, 'Encountered error with status code:', status_code
        return True # Don't kill the stream

    def on_timeout(self):
        print >> sys.stderr, 'Timeout...'
        return True # Don't kill the stream

sapi = tweepy.streaming.Stream(auth, CustomStreamListener())
sapi.filter(track=['@rishi'])

これを機能させるには、開発用のTwitterアカウントを作成し、独自のセキュリティ トークンを入力する必要があります。私のタイムラインは読み取り専用であるため、現在、タイムラインへの書き込みをテストできません。

于 2013-08-19T13:38:55.577 に答える