我是python的新手(以及一般的编程),我正在尝试编写一个脚本来收集推文。我无法让脚本在文件中打印推文。这些推文出现在空闲时出现错误“失败的ondata,全局名称'saveFile'未定义”并且它们没有打印在文件中
我运行了这段代码:
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import time
ckey = ???
csecret = ???
atoken = ????
asecret = "???
class listener(StreamListener):
def on_data(self, data):
try:
print data
savefile = open('twitDB.json','a')
saveFile.write(data)
savefile.write('\n')
saveFile.close()
return True
except BaseException, e:
print "failed ondata,",str(e)
time.sleep(5)
def on_error(self, status):
print status
auth = OAuthHandler(ckey,csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["movistar"])
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
欢迎任何形式的帮助
答案 0 :(得分:0)
查看 saveFile 变量。
您第一次将其用作保存 f ile,然后使用保存 F ile(请注意字母 f 和资本 ˚F强>)
将所有出现的内容更改为相同的名称,它应该有效。
另外,在 on_data 方法中执行此操作时要小心。据我所知,每收到一条推文都会调用它。也就是说,您将打开文件,编写推文,关闭文件,然后再针对每条推文。