Tweepy StreamListener 没有从 Flask 视图中的表单中获取数字
Tweepy StreamListener doesn't get number from form in Flask view
我正在将一个数字从 HTML 表单传递到 Flask 视图,以控制我使用 Tweepy 侦听器收集的推文数量。但是,侦听器只是一直在收集,而不是在我超过最大值后停止。如果我手动设置最大值,它可以正常工作。如何将表单中的数字传递给侦听器?
@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())
...
您正在尝试将字符串与整数进行比较。在Python2中,字符串总是大于数字。
HTML中的所有输入值,无论输入的类型是什么,都是字符串。所以 Flask 在表单数据中看到的所有数据都是字符串。你必须自己转换成数字。
number = request.form.get('number', type=int)
我正在将一个数字从 HTML 表单传递到 Flask 视图,以控制我使用 Tweepy 侦听器收集的推文数量。但是,侦听器只是一直在收集,而不是在我超过最大值后停止。如果我手动设置最大值,它可以正常工作。如何将表单中的数字传递给侦听器?
@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())
...
您正在尝试将字符串与整数进行比较。在Python2中,字符串总是大于数字。
HTML中的所有输入值,无论输入的类型是什么,都是字符串。所以 Flask 在表单数据中看到的所有数据都是字符串。你必须自己转换成数字。
number = request.form.get('number', type=int)