2016-05-26 14 views
-3

Tweepyを使ってTweetsを聞いて、100行の 'hello world'が印刷された後に 'Goodbye World'を印刷したいと思っています。達成されるか?多くのおかげで、マット・python:100行が印刷された後の動作

import tweepy 
import time 
from time import sleep 
import sys 

non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd) 

CONSUMER_KEY = 'xxxx' 
CONSUMER_SECRET = 'xxxx' 
ACCESS_KEY = 'xxxx' 
ACCESS_SECRET = 'xxxx' 
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) 
auth.secure = True 
api = tweepy.API(auth) 

    class MyStreamListener(tweepy.StreamListener): 

    def on_status(self, status): 


     if 'hello' in status.text.lower(): 
      print('hello world') 
      time.sleep(0.1) 

     else: 
      pass 

myStreamListener = MyStreamListener 
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener()) 

while 1 == 1: 
    try: myStream.filter(track=['hello']) 
    except: 
     pass 
+1

「100」に数えれば、あなたはそれに到達しましたか? – jonrsharpe

+0

はい、それは私がやろうとしていることです、ありがとう。 – MattD

+0

ええ、そうする*、または少なくとも試してみてください。これはチュートリアルサービスではありません。 – jonrsharpe

答えて

0

あなたが印刷されているどのように多くの事を監視するために、カウント変数を持っている、そしてそれを、それはまだ100に達しているかどうかを確認するために毎回チェックする必要があります。

class MyStreamListener(tweepy.StreamListener): 

    def __init__(self): 
     # Create instance variable to monitor lines printed in __init__ function 
     self.index = 0 

    def on_status(self, status): 

     if 'hello' in status.text.lower(): 
      print('hello world') 
      time.sleep(0.1) 
      # Adds one every time 
      self.index += 1 

      # Check if it has reached 100 yet 
      if self.index == 100: 
       print("Goodbye, World") 
       self.index = 0 #Omit this if you only want it to happen once, not every 100 

     else: 
      pass 

サイドノート:

else: 
    pass 

は必要ありません。存在するかどうかにかかわらず、'hello' in status.text.lower()がFalseの場合は何も起こりません。

+0

お返事ありがとうございます!残念なことに、自身をインデックスに登録しようとすると、ツイートの受信を停止するように見えるので、私のためには機能しません。 – MattD

+0

'self.index'はすでに' StreamListener'クラスで使われている変数かもしれません。その場合、 'index'というグローバル変数を使用したいかもしれません。 –

+0

@MattDの代わりに' self.index' –

関連する問題