2016-06-17 6 views
0

Tweepyリスナーで収集するツイートを制御するために、HTMLフォームからFlaskビューに数値を渡しています。しかし、リスナーは、私が渡した最大値の後で停止するのではなく、永遠に収集し続けます。手動で最大値を設定すると、正しく動作します。フォームからリスナーに番号を渡すにはどうすればよいですか?Tweepy StreamListenerはFlaskビューのフォームから番号を取得しません

@fetchtweet.route('/fetchtrainingtweets/', methods=["POST"]) 
def ttweets(): 
    ... 
    number = request.form['number'] 

    class Listener(StreamListener): 
     def __init__(self, api=None): 
      self.api = api or API() 
      self.n = 0 
      self.m = number 

     def on_data(self, data): 
      ... 
      if self.n >= self.m: 
       return False 
      ... 
    ... 
    stream = Stream(auth, listener()) 
    ... 

答えて

0

文字列をintと比較しようとしています。 Python 2では、文字列は常に数値より大きい。

HTMLのすべての入力値は、入力のタイプに関係なく、文字列です。したがって、フォームデータにFlaskが表示するすべてのデータは文字列です。自分で番号に変換する必要があります。

number = request.form.get('number', type=int) 
関連する問題