Tweepy:无法在文件中打印推文

时间:2016-07-19 22:22:57

标签: python-2.7 twitter streaming tweepy

我是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

欢迎任何形式的帮助

1 个答案:

答案 0 :(得分:0)

查看 saveFile 变量。

您第一次将其用作保存 f ile,然后使用保存 F ile(请注意字母 f 和资本 ˚F

将所有出现的内容更改为相同的名称,它应该有效。

另外,在 on_data 方法中执行此操作时要小心。据我所知,每收到一条推文都会调用它。也就是说,您将打开文件,编写推文,关闭文件,然后再针对每条推文。