2014-01-22 58 views
0

我正在開發一段代碼,我希望使用Twitter流式API來跟蹤關鍵詞。根據tweepy中的配置文件從位置提取推文

很顯然,當我追蹤關鍵詞時,我會得到全局結果。我意識到由於API參數的要求,您無法同時輸出關鍵詞和位置。

相反,我計劃只保存將其個人資料位置列在特定城市(本例中爲倫敦)的流式推文。

目前我正在嘗試以下

def on_status(self,status): 
    try: 
     locations=status.user.location 
     if locations == ['London']: 
      #Save to database 
     else: 
      pass 

然而,這不保存包含輪廓位置倫敦任何鳴叫

+0

你能不能張貼線的輸出'打印(位置)' ? –

+0

它不會打印任何東西,因爲它不會在位置=='london'處拾取任何推文。我知道會有推文,因爲我的關鍵字是「天氣」 – user3206778

+0

當打印位於else語句中時,它會正確打印位置。最令人討厭的是,我可以看到其中一些是倫敦! – user3206778

回答

0

我想你應該改變這一行:

if locations == ['London']: // status.user.location returns a string, not a list! 

到:

if locations == 'London': 

你的代碼不起作用,因爲status.user.location返回了一個字符串,你將這個字符串與一個列表進行了比較。這是行不通的。

和另外一件事:因爲status.user.location可以是「英國倫敦」這是更好地做一些標準化和檢查串包含:

if 'london' in locations.lower(): 
+0

非常感謝!不能相信我錯過了! – user3206778