【问题标题】:Tweepy: can´t print tweets in fileTweepy:无法在文件中打印推文
【发布时间】:2016-11-22 23:52:36
【问题描述】:

我是 python 新手(和一般编程),我正在尝试编写一个脚本来收集推文。我无法获取脚本来打印文件中的推文。推文出现在 Idle 中,并显示错误“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

欢迎任何形式的帮助

【问题讨论】:

    标签: python-2.7 twitter streaming tweepy


    【解决方案1】:

    看看 saveFile 变量。

    第一次使用它作为 savefile,然后使用 saveFile(注意字母 f 和大写 F)

    将所有匹配项更改为相同的名称,它应该可以工作。

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

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 2014-07-05
      • 2018-12-08
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2021-09-20
      • 1970-01-01
      相关资源
      最近更新 更多