【问题标题】:How to change stream in tweepy if hashtag changed?如果主题标签更改,如何更改 tweepy 中的流?
【发布时间】:2013-04-28 03:02:46
【问题描述】:

我有一种情况,我使用默认主题标签开始 tweepy 流媒体,而不是程序接收队列并更改主题标签,但我的问题是如何将此新主题标签应用于已经运行的 tweepy 流媒体?

为了更清楚,举个例子:

    hashtag = 'number_1'

    auth = t_auth()
    self.stream = tweepy.streaming.Stream(auth,CustomStreamListener())
    self.stream.filter(follow=None, track=[hashtag])   

好的,上面的代码将监听标签'number_1',现在假设我收到了一个带有不同标签的队列:

    hashtag = 'Different_hashtag'

那么如何让我的self.stream.filter(follow=None, track=[hashtag] 开始监听新的标签?

【问题讨论】:

  • 您是否尝试过拨打self.stream.disconnect() 并再次拨打self.stream.filter(follow=None, track=[hashtag])?似乎这是唯一的方法。
  • 听起来很合理,但是,我应该把它放在哪里?因为一旦我调用stream.filter(),它就会阻塞一切,之后的代码将不会被执行。
  • 我想在你的CustomStreamListener 的某个地方。选择适当的方法并覆盖它:参见github.com/tweepy/tweepy/blob/master/tweepy/streaming.py#L20。似乎应该是on_statuson_data

标签: python queue hashtag tweepy


【解决方案1】:

正如 @alecxe 在 cmets 中所述,您可以通过调用 stream.disconnect() 或返回 False 来断开流与回调方法之一的连接

另一种选择是使用async=True 调用stream.filter。这将异步监听推文,当您收到不同的主题标签时,允许您从主代码调用 stream.disconnect()stream.filter()

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2019-07-21
    • 2014-01-20
    • 2015-09-20
    • 1970-01-01
    • 2020-02-16
    相关资源
    最近更新 更多