Python Twitter API流tweepy试图将数据保存到CSV文件
问题描述:
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ckey = 'hidden due to question'
csecret = 'hidden due to question'
atoken = 'hidden due to question'
asecret = 'hidden due to question'
class listener(StreamListener):
def on_data(self, data):
try:
print (data)
saveFile = open('TwitterAPI.csv','a')
saveFile.write(data)
saveFile.Write('\n')
saveFIle.close()
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=["car"])
上面的代码的问题是,它一直在提出一个错误消息,指出有一个意外的unindent在//def on_error // rowPython Twitter API流tweepy试图将数据保存到CSV文件
答
您打开一个try
块,但没有捕捉到异常。
https://docs.python.org/3/tutorial/errors.html
另外要小心,蟒蛇是大小写敏感的,所以saveFile
不saveFIle
,也不saveFile.write()
是saveFile.Write()
...
编辑您的on_data()
处理程序如下应该使其工作:
def on_data(self, data):
try:
print(data)
with open('TwitterAPI.csv','a') as f:
f.write(data)
except Exception as e: # here catch whatever exception you may have.
print('[!] Error : %s' % e)
编辑:以下是您完整的代码修改:
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
ckey = 'hidden due to question'
csecret = 'hidden due to question'
atoken = 'hidden due to question'
asecret = 'hidden due to question'
class listener(StreamListener):
def on_data(self, data):
try:
print(data)
with open('TwitterAPI.csv','a') as f:
f.write(data)
except:
pass
def on_error(self, status):
print (status)
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["car"])
一条错误消息,指出意外缩进仍然存在 '级监听器(StreamListener): 高清on_data(个体经营,数据): 尝试: 打印(数据) 开放(' TwitterAPI .csv','a')作为f: f.write(data) 除了Exception作为e:#这里可以捕获你可能有的任何异常。 打印( '错误[!]:%s' 的%E) DEF ON_ERROR(个体,状态): 打印(状态) AUTH = OAuthHandler(CKEY,csecret) auth.set_access_token(atoken,asecret) twitterStream =流(auth,listener()) twitterStream.filter(track = [“car”])' – harreskhan
您能告诉我错误信息吗? –
对不起,我是python的新手,从来没有在 – harreskhan