在编码方面,我是新手。如何修改此示例代码以使用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'未定义
请帮忙!
答案 0 :(得分:0)
NameError
说python脚本没有接收command line arguments,sys.argv[1]
是"主题"。替换"在此处输入主题"与您想要搜索的主题。
在此示例中,springbreak
为sys.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)