2017-04-05 111 views
0
def get_tweets(api, input_query): 
    for tweet in tweepy.Cursor(api.search, q=input_query,lang="en").items(): 
    yield tweet 

if __name__ == "__version__": 
    input_query = sys.argv[1] 

    access_token = "REPLACE_YOUR_KEY_HERE" 
    access_token_secret = "REPLACE_YOUR_KEY_HERE" 
    consumer_key = "REPLACE_YOUR_KEY_HERE" 
    consumer_secret = "REPLACE_YOUR_KEY_HERE" 
    auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
    auth.set_access_token(access_token, access_token_secret) 
    api = tweepy.API(auth) 
    tweets = get_tweets(api, input_query) 
    for tweet in tweets: 
     print(tweet.text) 

我正嘗試使用命令提示符從Twitter下載數據。我輸入了我的密鑰(我只是重新創建了它們),將腳本保存爲「print_tweets」,並在命令提示符下輸入「python print_tweets.py subject」,但沒有任何事情發生,沒有任何錯誤信息或任何內容。無法下載twitter數據

我認爲這個問題可能與路徑環境有關,但我創建了另一個打印出「hello world」的程序,並且使用命令提示符執行時沒有問題。

任何人都可以看到我的代碼上面有任何明顯的錯誤?這對你有用嗎? 我甚至試圖改變「版本」爲「主」,但是這給了我一個錯誤信息:

如果 ==「版」:

+0

昨天你不是問這個問題嗎? http://stackoverflow.com/questions/43219596/how-to-download-twitter-feed。我提到你需要包含下劃線'__' - >'「__main __」',而不是'「main」',像這樣:'if __name__ ==「__main __」:' – davedwards

+0

我想我幾乎在那裏,但它將不會執行。 當我輸入 「__main__」 我得到這個錯誤 NameError回溯(最近最後一次通話) () 5如果__name__ == 「__main__」: - ---> 6 input_query = sys.argv中[1] 8 =的access_token 「X ....」 NameError:名稱 'SYS' 不是在限定的 – Aoitori

+0

放'進口sys'作爲* *第一線腳本的頂部。 – davedwards

回答

1

看來你正在運行的腳本一個ipython解釋器,它不會收到任何命令行參數。試試這個:

import tweepy 

def get_tweets(api, input_query): 
    for tweet in tweepy.Cursor(api.search, q=input_query,lang="en").items(): 
     yield tweet 

input_query = "springbreak" # Change this string to the topic you want to search tweets 

access_token = "REPLACE_YOUR_KEY_HERE" 
access_token_secret = "REPLACE_YOUR_KEY_HERE" 
consumer_key = "REPLACE_YOUR_KEY_HERE" 
consumer_secret = "REPLACE_YOUR_KEY_HERE" 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_token_secret) 
api = tweepy.API(auth) 
tweets = get_tweets(api, input_query) 
for tweet in tweets: 
    print(tweet.text) 
+0

是的!這工作。你太棒了。謝謝!!! – Aoitori