Tweety检查推文是否是转发

时间:2018-04-26 21:49:13

标签: python twitter tweepy

我开始在Python上使用Tweepy 3.6.0,我有一些问题。

首先,我想获得推文列表(使用api.search方法),但不是转推。我发现一些奇怪的东西。尝试使用他的ID和author_name访问推文。它会自动重定向到原始推文(不同的ID和author_name)。

经过一番搜索后,我发现人们正在谈论"转发了#status"键。如果键退出,那么它就是RT。但是在我下面的例子中,我的推文对象中没有retweeted_status,但重定向到原始推文就在这里。

我是否经常表达不好的事情?

谢谢

1 个答案:

答案 0 :(得分:4)

您可以选择仅搜索转推或从搜索查询中排除所有转推。

搜索没有转发" -filter:转推"

for tweet in tweepy.Cursor(api.search, q='github -filter:retweets',tweet_mode='extended').items(5):

仅搜索转推"过滤:转推"

 for tweet in tweepy.Cursor(api.search, q='github filter:retweets',tweet_mode='extended').items(5):

额外信息:

虽然您可以直接在搜索查询中排除转推,但是如果推文是转推的话也很容易找到,因为所有转发都以" rt @ UsernameOfAuthor"开头。您可以通过执行基本的if语句来查找推文是否为转推,以查看推文是否以rt开头。

首先进行基本查询并将信息保存到变量中。

for tweet in tweepy.Cursor(api.search, q='github',tweet_mode='extended').items(5):
    # Defining Tweets Creators Name
    tweettext = str( tweet.full_text.lower().encode('ascii',errors='ignore')) #encoding to get rid of characters that may not be able to be displayed
    # Defining Tweets Id
    tweetid = tweet.id

然后打印信息用于演示目的

    # printing the text of the tweet
    print('tweet text: '+str(tweettext))
    # printing the id of the tweet
    print('tweet id: '+str(tweetid))

然后有if语句来查找它是否转发

# checking if the tweet is a retweet (this method is basic but it will work)
if tweettext.startswith("rt @") == True:
    print('This tweet is a retweet')
else:
    print('This tweet is not retweet')