Фильтровать твиты с помощью filter_level в API потоковой передачи Twitter

Я использую статусы/фильтр и пытаюсь отфильтровать твиты из потока твиттера на основе параметра «filter_level».

query = ["Donald Trump","Cristiano Ronaldo"]

numberOfTweets = 1000
dictOfTweets ={}
twitter_api = oauth_login()
twitter_stream = twitter.TwitterStream(auth=twitter_api.auth)

for q in query:
  stream =  twitter_stream.statuses.filter(track=q,max_count=numberOfTweets,languages= ['en'],filter_level=['medium'])
  for tweet in stream:
      if tweet.get('text',0) == 0:
          continue
      dictOfTweets.setdefault(q,[]).append(tweet['text'])

Я все еще получаю твиты с filter_level = "low". Было бы очень полезно, если бы кто-нибудь мог предложить, что мне не хватает или я делаю неправильно?


person anon    schedule 11.04.2016    source источник


Ответы (1)


Вам нужно поставить (languages= ['en'],filter_level=['medium']) в то время как Аутентификация

query = ["Donald Trump","Cristiano Ronaldo"]

numberOfTweets = 1000
dictOfTweets ={}
twitter_api = oauth_login()
twitter_stream = twitter.TwitterStream(auth=twitter_api.auth, ,languages= ['en'],filter_level=['medium'])

for q in query:
  stream =  twitter_stream.statuses.filter(track=q,max_count=numberOfTweets)
  for tweet in stream:
      if tweet.get('text',0) == 0:
          continue
      dictOfTweets.setdefault(q,[]).append(tweet['text'])
person Thirumal Alagu    schedule 16.04.2019
comment
это не сработало для меня с параметром filter_level в виде списка с «средним» в нем, но это сработало, когда оно было передано просто как строка - person Tom Bush; 08.09.2020