2010-11-07 3 views
1
stream.filter(locations=[-122.75,36.8,-121.75,37.8,-74,40,-73,41],track=["twitpic"]) 

Cela fonctionne. Cependant, ce n'est pas "ET". C'est "OU". Cette ligne obtient l'emplacement OU le mot-clé. Comment le rendre "ET"?Comment utiliser l'API de streaming Twitter?

Voici le code à la bibliothèque que je utilise:

def filter(self, follow=None, track=None, async=False, locations=None): 
     self.parameters = {} 
     self.headers['Content-type'] = "application/x-www-form-urlencoded" 
     if self.running: 
      raise TweepError('Stream object already connected!') 
     self.url = '/%i/statuses/filter.json?delimited=length' % STREAM_VERSION 
     if follow: 
      self.parameters['follow'] = ','.join(map(str, follow)) 
     if track: 
      self.parameters['track'] = ','.join(map(str, track)) 
     if locations and len(locations) > 0: 
      assert len(locations) % 4 == 0 
      self.parameters['locations'] = ','.join(['%.2f' % l for l in locations]) 
     self.body = urllib.urlencode(self.parameters) 
     self.parameters['delimited'] = 'length' 
     self._start(async) 

https://github.com/joshthecoder/tweepy/blob/master/tweepy/streaming.py

Répondre

2

http://dev.twitter.com/pages/streaming_api_methods#locations

bondissantes sont des boîtes logiques ORs. Un paramètre emplacements peut être combiné avec des paramètres de piste, mais notez que tous les termes sont logiquement Ord, de sorte que la chaîne de requête track = twitter & emplacements = -122.75,36.8, -121.75,37.8 correspondrait à tous les tweets contenant le terme Twitter (même les tweets non-geo) OU provenant de la région de San Francisco.

...

boîtes englobantes multiples peuvent être spécifiés en concaténant paires latitude/longitude, par exemple: emplacements = -122.75,36.8, -121.75,37.8, -74,40 , -73,41 suivrait les tweets de San Francisco et New York City.

Pour plus d'informations, consultez la documentation complète.

Questions connexes