如何下载twitter feed

时间:2017-04-04 23:49:02

标签: python twitter

在编码方面,我是新手。如何修改此示例代码以使用Python下载推文?

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)

我输入了我的钥匙。

我应该能够使用类似这样的命令来下载推文:print_tweets.py"在这里输入主题" 我在哪里输入此命令?在Python?在命令提示符下?

我收到此错误:

  

NameError Traceback(最近一次调用   最后)in()   ----> 1 print_tweets.py

     

NameError:name' print_tweets'未定义

请帮忙!

1 个答案:

答案 0 :(得分:0)

NameError说python脚本没有接收command line argumentssys.argv[1]是"主题"。替换"在此处输入主题"与您想要搜索的主题。

在此示例中,springbreaksys.argv[1]

C:\> python print_tweets.py springbreak

应返回并打印包含您的"主题"。

的推文文本

您可能还需要更改:

if __name__ == "__version__":

if __name__ == "__main__":

因为__main__是脚本的入口点。

整个脚本:

#!/usr/bin/env python

import sys
import tweepy

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

if __name__ == "__main__":
    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)