【问题标题】:Tweepy Stream python, running error on IDLETweepy Stream python,在IDLE上运行错误
【发布时间】:2015-06-25 12:54:06
【问题描述】:

当我运行我的脚本时,只会打开一个空白 shell,什么也没有发生。它在输出 shell 中给出一个重启行并停止。然后,当我尝试取消窗口时,它问我,“程序仍在运行,你想杀死它吗”.. 我等了超过 15 分钟,但什么也没发生。你能帮助我吗。我正在使用 Mac

这是我的代码

from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener

ckey = ''
csecret = ''
atoken = ''
asecret = ''

class listener(StreamListener):

    def on_data(self, data):
        print (data)
        return True

    def on_error(self, status):
        print (status)`enter code here`

auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["car"])

【问题讨论】:

  • 试过你的代码没有问题。使用idleMac。只有我不得不删除你的enter code here,我猜这只是一个错字。它必须与您的机器/安装有关。我建议您添加调试行以了解正在发生的事情。以你现在提供的信息,不可能帮到你。
  • 如果您在控制台窗口中直接使用 Python 运行文件,减去 on_error 中的 SyntaxError,会发生什么情况。如果它的工作原理相同,则空闲不是问题的一部分。

标签: python twitter stream python-idle tweepy


【解决方案1】:

您提供的代码 sn-p 有 2 个问题第一个是在 on_error 方法中,我认为它不会导致任何问题,因为只有在出现错误时才会调用此方法遇到了,还是可以重写方法为:

def on_error(self, status):
    print ("The error is : "+status)

下一个问题在twitterStream.filter(track=["car"]) 行中,通过使用这一行代码的性能现在取决于有多少公共推文在其推文中包含关键字car,如果不幸的是,没有任何公共推文被使用此关键字制作,那么您将不会在控制台上打印任何内容,因此我建议您使用更多关键字集,例如:vehicle, automobile, etc 以增加您的机会。

出于测试目的,您可以从这段代码中删除这一行并在 twitterStream = Stream(auth, listener()) 结束您的代码,如果您仍然在 IDLE 控制台上看不到任何输出,那么您应该尝试使用其他文本编辑器,例如 sublime, Canopy, etc.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    相关资源
    最近更新 更多