За щебетать docs параметр q
ограничен.
UTF-8, поисковый запрос URL-кодировки с 500 символами, включая операторы. Запросы могут быть дополнительно ограничены сложностью.
Если вы хотите построить сложную логику поискового запроса, вы можете использовать Streamer и прослушиватель. Вы по сути делаете свою собственную фильтрацию. Вот простой пример прослушивателя. Я попытался предоставить некоторые популярные объекты, возвращенные из метода on_status
, возвращенные как json
.
import json
class SListener(StreamListener):
def __init__(self, api = None, fprefix = 'streamer'):
self.api = api or API()
self.counter = 0
self.fprefix = fprefix
def on_data(self, data):
elif 'limit' in data:
if self.on_limit(json.loads(data)['limit']['track']) is False:
return False
elif 'warning' in data:
warning = json.loads(data)['warnings']
print warning['message']
return false
def on_status(self, status):
status_obj = json.loads(status)
username = status_obj["user"]["screen_name"]
userID = status_obj["user"]["id"]
user_loc = status_obj["user"]["location"]
tweet_date_time = status_obj["created_at"]
tweetID = status_obj["id"]
tweet = status_obj["text"].encode('utf-8')
searchTerms = ['1','2','3'] # to say ... '99' or '100'
if any(query in tweet for query in searchTerms):
print(tweet) #or do something with it