Как использовать потоковый API Twitter? - PullRequest
1 голос
/ 07 ноября 2010
stream.filter(locations=[-122.75,36.8,-121.75,37.8,-74,40,-73,41],track=["twitpic"])

Это работает. Однако это не «И». Это «ИЛИ». Эта строка получает ключевое слово ИЛИ местоположения. Как мне сделать это "И"?

Вот код библиотеки, которую я использую:

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

1 Ответ

2 голосов
/ 07 ноября 2010

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

Ограничительные рамки - это логические ИЛИ. Параметр location может быть объединен с параметрами дорожки, но учтите, что все термины логически ORd, поэтому Строка запроса отслеживать = твиттер & места = -122.75,36.8, -121.75,37.8 будет соответствовать любым твитам, содержащим термин Твиттер (даже не гео твиты) ИЛИ из района Сан-Франциско.

...

Несколько ограничивающих рамок могут быть определяется путем объединения пары широта / долгота, например: location = -122.75,36.8, -121.75,37.8, -74,40, -73,41 будут отслеживать твиты из Сан-Франциско и Нью-Йорк.

Для получения дополнительной информации прочитайте полную документацию.

...