Pregunta

Tengo algunos problemas con la API tweepy.

Sólo estoy tratando de escribir una pequeña aplicación que me pone una corriente de estados de un usuario (el mineral más), pero estaría bien para empezar; -)

Ahora: mi código es así:

    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')

en StreamWatcherListener tengo un método "on_status" que imprime el texto de un estado, cada vez que llega una nueva (todo parece funcionar, cuando intento stream.sample () en lugar de stream.filter ())

Identificación del dado es mi testaccount, así que cuando Pio debo obtener alguna respuesta en la consola .... pero no pasa nada.

cuando intento

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

en el terminal como se pude encontrar en la API de Twitter, todo funciona bien.

Así que tal vez hago uso incorrecto del filtro () - Método

?

alguna sugerencia?

-Andy

¿Fue útil?

Solución

Lo encontré a mí mismo

el método stream.filter() necesita un array

así que tuve con el código

stream.filter(['1234567'])

et voilà

Otros consejos

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)

Aquí usa el parámetro asíncrono, se ejecuta cada corriente en un hilo diferente. Consulte este enlace para la documentación o más detalles.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top