2012-06-10 20 views
6

tweepyを使用してTwitterのストリーミングAPIにアクセスして正しく動作させるためのサンプルコードを取得できません。私はGitHub(バージョン1.9)とPython 2.7.1のtweepyの最近のクローンを使用しています。tweepyを使用してTwitterのストリーミングAPIにアクセスする

私が追跡のためのテスト用語として「ツイッター」を使って、それぞれの場合に、3つのソースからのサンプルコードを試してみた:How to Capture Tweets in Real-time with Twitter's Streaming API

  • アンドリュー・ロビンソンさんのブログ:

    1. O'Rilleyは、コードを回答:Using Tweepy to access the Twitter Stream

    2. (アンドリュー・ロビンソンが行っているように、容易にOAuth認証をサポートするように変更することができる)GitHubの上Tweepy例リポジトリ:streamwatcher.py

    すべての3つのケースでは、認証は成功し、エラーは発生せず、メインプログラムのループは問題なく実行されているようです。私はネットワーク使用量が約200KB/sにジャンプし、Pythonプロセスが100%近くのCPU使用率にジャンプするので、データが受信されていると思います。ただし、コンソールに何も出力されません。

    tweepyのStreamクラスがなんらかの理由でカスタムコールバックメソッドを呼び出さないと思われます。私は、呼び出されるたびに出力を生成するために各例のコールバックメソッドを書き直そうとしましたが、これはこれを確認しているようです。これは(もちろん私のアプリのキーを削除して、)アンドリュー・ロビンソンのブログエントリに基づいたテストコードの1つの非常に単純なビットです:私は間違っ

    # -*- coding: utf-8 -*- 
    
    import tweepy 
    
    consumer_key = '' 
    consumer_secret = '' 
    
    access_token_key = '' 
    access_token_secret = '' 
    
    auth1 = tweepy.OAuthHandler(consumer_key, consumer_secret) 
    auth1.set_access_token(access_token_key, access_token_secret) 
    
    class StreamListener(tweepy.StreamListener): 
        def on_status(self, tweet): 
         print 'Ran on_status' 
    
        def on_error(self, status_code): 
         print 'Error: ' + repr(status_code) 
         return False 
    
        def on_data(self, data): 
         print 'Ok, this is actually running' 
    
    
    l = StreamListener() 
    streamer = tweepy.Stream(auth=auth1, listener=l) 
    #setTerms = ['hello', 'goodbye', 'goodnight', 'good morning'] 
    setTerms = ['twitter'] 
    streamer.filter(track = setTerms) 
    

    何をしているのですか?

  • 答えて

    10

    は、私もこれに走ったと

    これはTweepyの既知の問題/バグのようです
    if delimited_string.strip().isdigit(): 
    

    にstreaming.pyにライン160を変更することにより、私の地元のチェックアウト時に、それを修正 - 問題をチェックしている必要があります:)すべてのことのデバッグを行う前に、リスト -

    https://github.com/tweepy/tweepy/pull/173 https://github.com/tweepy/tweepy/pull/182

    +0

    感謝!魅力のように働いた。また、GitHubの問題リストを確認する提案に感謝します - それはおそらく私が本当に知る必要があったものです;-) –

    関連する問題