Twitter API: How to exclude retweets when searching tweets using Twython

左心房为你撑大大i 提交于 2019-12-01 22:18:38

The correct syntax is -filter:retweets.

If you would like to search on terms "search phrase" or "another search phrase" and exclude retweets, then the query should be:

query = "search_phrase OR another_search_phrase -filter:retweets"

To exclude replies as well, add -filter:replies like this:

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

This should be working, you can verify it by checking the status fields in_reply_to_status_id and retweeted_status:

  • Status is not a reply if in_reply_to_status_id is empty
  • Status is not a retweet if it doesn't have the field retweeted_status

With 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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!