我尝试使用API和tweepy python从twitter获取数据。 安装成功后python和tweepy,尝试获取数据.. 这是我的代码
enter code here
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ckey = 'YIlpVeuTTqjJhWbFj6kmF2ecL'
csecret ='rDUpUgmJF6ZVFYsKGbLW43JXoX35mTzQW7JoPWCQwUh2sBhEaM'
atoken = '3262955994-MwFta8wXh0mjIXatX12BL5Smw2ABZtomMLD782E'
asecret='hcyYCOuBBEsrq3MtBpwI2IQqAqIj4wHpCH0rAODR9C6g6'
class listener(StreamListener):
def on_data(self, data):
print data
return True
def on_error(self, status):
print status
auth = OAuthHandler(ckey,csecret)
auth.set_access_token(atoken,asecret)
twitterStream= Stream(auth,listener())
twitterStream.filter(track=['python', 'javascript', 'ruby'])
当我运行它时,我遇到了错误:
file 'ex.py' ,line 10
print data
^
IndentationError: expected an indented block
我在网上得到了这段代码。谢谢
答案 0 :(得分:1)
看起来你在那条线上缩进了两次。而是以与on_data()
相同的方式缩进on_error()
(即,一个缩进级别为4个空格)。
答案 1 :(得分:1)
好像你正在使用不均匀的缩进,我可以在这些行中看到8个空格 -
pip install py2exe_py2
其中只有4行 -
def on_data(self, data):
print data
return True
我猜你有更多的代码,你使用4个空格进行一级缩进。
您应该在整个代码中使用恒定数量的空格进行缩进。我建议你尝试将函数的缩进更改为4个空格,并检查是否能解决问题。