2017-07-17 72 views
-1

我试图执行这个代码进入瓶中,它在控制台中,但与HTTP请求正常工作,我得到这个令人费解的错误:瓶不支持的操作数类型(S)为+:“快译通”和“海峡”

应用的.py

@app.route('/results') 
def results(): 

    keyword = {'keyword': request.args.get('keyword')} 

    num_tweets=5 

    for tweet in tweepy.Cursor(api.search,q=keyword+ 
     " -filter:retweets", 
     result_type='recent', 
     lang="en").items(num_tweets): 
     raw = tweet.text 
     clean = re.sub(r"(?:@\S*|#\S*|http(?=.*://)\S*)", "", raw) 
     result = cool.api(clean) 
     return render_template('pages/results.html') 

我的HTML形式如下:

 <form action="/results"> 
     Input: 
     <br> 
     <input type="text" name="keyword"> 
     <br> 
     <input type="submit" value="Submit"> 
     </form> 

我也尝试了不同的方法:

kwargs = { 
      'keyword': request.form['keyword'], 
     } 

添加methods=['POST', 'GET']不能解决问题。

在错误页面,问题是在这一行:

" -filter:retweets", 
+0

Python的错误并不晦涩。阅读错误的细节,检查指定的行,你应该明白什么是错的。顺便说一下,如果您希望我们帮助您调试代码,则应指定整个错误。无论如何,这里的Python最有可能告诉你'q = keyword +“-filter:retweets”'是无效的,因为(根据错误),你不能添加字典和字符串。 –

回答

2

由于错误说,你想添加一个词典的字符串:

tweepy.Cursor(api.search,q=keyword+ " -filter:retweets", 

keyword是字典。由于Python倾向于强大的打字,因此转换为字符串不像自动语言那样是自动的。首先将其转换为字符串:

tweepy.Cursor(api.search,q=str(keyword) + " -filter:retweets", 

正如注释者所提到的,Python的错误消息通常很清楚。确保你真的读过它们,因为它们通常是不言自明的。

+0

这是正确的,因为现在我有另一个错误:ValueError:查看功能没有返回响应。 –

+0

@YoussefS。这是一个单独的错误。谷歌那一个,因为我怀疑这是一个Flask特定的错误。 – Carcigenicate

相关问题