2017-07-17 70 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

相關問題