API Twitter: как исключить ретвиты при поиске твитов с помощью Twython

Я пытаюсь исключить retweets и replies в моем поиске Twython .

Вот мой код:

 from twython import Twython, TwythonError app_key = "xxxx" app_secret = "xxxx" oauth_token = "xxxx" oauth_token_secret = "xxxx" naughty_words = [" -RT"] good_words = ["search phrase", "another search phrase"] filter = " OR ".join(good_words) blacklist = " -".join(naughty_words) keywords = filter + blacklist twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) search_results = twitter.search(q=keywords, count=100) 

Проблема в том, что функция -RT действительно не работает.

РЕДАКТИРОВАТЬ:

Я пробовал предложение @forge, и пока он печатает тот факт, что твиты не являются ретвитами или ответами, когда я включаю их в код ниже, бот все еще находит и твиты ретвитов, цитат и ответов.

 twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) query = 'beer OR wine AND -filter:retweets AND -filter:replies' response = twitter.search(q=query, count=100) statuses = response['statuses'] try: for tweet in statuses: try: twitter.retweet(id = tweet["id_str"]) except TwythonError as e: print e except TwythonError as e: print e 

Я буду продолжать возиться с ним – любые идеи? Есть ли filter:quotes ?

One Solution collect form web for “API Twitter: как исключить ретвиты при поиске твитов с помощью Twython”

Правильный синтаксис – -filter:retweets .

Если вы хотите искать на терминах "search phrase" или "another search phrase" и исключать ретвиты, тогда query должен быть:

 query = "search_phrase OR another_search_phrase -filter:retweets" 

Чтобы исключить ответы, добавьте -filter:replies следующим образом:

 query = "search_phrase OR another_search_phrase -filter:retweets AND -filter:replies" 

Это должно работать, вы можете проверить его, проверив поля состояния in_reply_to_status_id и retweeted_status :

  • Статус не является ответом, если in_reply_to_status_id пуст
  • Статус не является retweet, если у него нет поля retweeted_status

С Twython :

 import twython twitter = twython.Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET) query = 'wine OR beer -filter:retweets AND -filter:replies' response = twitter.search(q=query, count=100) statuses = response['statuses'] for status in statuses: print status['in_reply_to_status_id'], status.has_key('retweeted_status') # Output should be (None, False) to any status 
  • Получение упоминаний и DM через twitter stream API 1.1? (Использование twython)
  • Ошибка SSL в Twython GET
  • Eclipse + PyDev: Eclipse говорит мне, что это недопустимый импорт?
  • Python - лучший язык программирования в мире.