【问题标题】:tweepy stream.filter() method doesn't work properlytweepy stream.filter() 方法不能正常工作
【发布时间】:2010-04-15 14:44:36
【问题描述】:

我在使用 tweepy api 时遇到了一些问题。

我只是在尝试编写一个小应用程序,它可以让我获得一个(或更多)用户的状态流,但从一个开始就可以了 ;-)

现在:我的代码是这样的:

    def main():
       config = ConfigParser.ConfigParser()
       config.read('twitter.cfg')

       username = config.get('Twitter', 'username')
       password = config.get('Twitter', 'password') 
           listener = StreamWatcherListener()

       stream = tweepy.Stream(username, password, listener, timeout=None)
       stream.filter('132897940')

在 StreamWatcherListener 中,我有一个方法“on_status”,它打印状态文本,每当有新状态到达时(当我尝试使用 stream.sample() 而不是 stream.filter() 时,一切似乎都正常)

给定的 ID 是我的测试帐户,所以每当我发推文时,我都应该在控制台中得到一些响应......但什么也没有发生。

当我尝试时

curl -d @following http://stream.twitter.com/1/statuses/filter.json -uAnyTwitterUser:Password

在我可以在 twitter api 中找到的终端中,一切运行正常。

所以也许我错误地使用了 filter() 方法?

有什么建议吗?

-安迪

【问题讨论】:

    标签: python twitter filter stream tweepy


    【解决方案1】:

    我自己发现的

    stream.filter() 方法需要一个数组

    所以我不得不编码

    stream.filter(['1234567'])
    

    等等

    【讨论】:

      【解决方案2】:
      class TweetListener(StreamListener):
          def on_status(self,status):           
              print "TWEET ARRIVED!!!"
              print "Tweet Text : %s" % status.text
              print "Author's name : %s" % status.author.screen_name
              print "Time of creation : %s" % status.created_at
              print "Source of Tweet : %s" % status.source    
              time.sleep(10)       
              return True
      
          def on_error(self, status):        
             print status
             if status == 420:
                  print "Too soon reconnected, Exiting!!"
                  return False
              sys.exit()
      
      def search_tweets():
          twitterStream = Stream(connect().auth, TweetListener())        
          twitterStream.filter(track=['Cricket','Maths','Army','Sports'],languages = ["en"],async=True)
      

      这里我使用了 async 参数,它在不同的线程上运行每个流。 有关文档或更多详细信息,请参阅此 link 。

      【讨论】:

      • 嘿,我想从特定用户“X”那里获得带有特定文本“Y”的推文……但我无法做到这一点。它要么给我来自 X 的所有推文,要么给我所有包含 Y 的推文。它是如何工作的?
      猜你喜欢
      • 1970-01-01
      • 2016-08-01
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多