我开始在Python上使用Tweepy 3.6.0,我有一些问题。
首先,我想获得推文列表(使用api.search方法),但不是转推。我发现一些奇怪的东西。尝试使用他的ID和author_name访问推文。它会自动重定向到原始推文(不同的ID和author_name)。
经过一番搜索后,我发现人们正在谈论"转发了#status"键。如果键退出,那么它就是RT。但是在我下面的例子中,我的推文对象中没有retweeted_status,但重定向到原始推文就在这里。
我是否经常表达不好的事情?
谢谢
答案 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')