如何获取到帐户的推文列表?

时间:2018-07-23 09:08:30

标签: python-3.x twitter tweepy

在其他任何问题上我都没有找到这个确切的用例。

我想获取一条TO的推文列表:一个帐户。这里的示例是@Azure。 如何过滤掉转发消息?

此刻,我收到了一条推文列表,这些推文并非全部发送到@Azure。也有一些转推。谢谢:)

# Importing TWEEPY Library
import tweepy

# Variables that contains the user credentials to access Twitter API
ACCESS_KEY = '*****'
ACCESS_SECRET = '*****'
CONSUMER_KEY = '*****'
CONSUMER_SECRET = '*****'

auth = tweepy.auth.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
search_results = api.search(q="@Azure", count=100)

for i in search_results:
    # Do Whatever You need to print here
    print(i.text.encode('utf-8'))

2 个答案:

答案 0 :(得分:1)

我认为OP希望排除最终出现在推文列表中但实际上是转推的推文。 可以通过查看属性“ retweeted_status”来过滤到达此列表的转发推文。如果可用并且具有自己的状态属性,那么它绝对是RT。

我可以像下面这样在PHP中进行检查:

//Whatever code/library gets you a list of statuses, I use Abraham twitter oauth library

$params = [
    'q' => '@azure',
    'count'=>100,
    'exclude_replies' => 1 //exclude replies if you want
];
$statuses = $connection->get('search/tweets', $params);

foreach($statuses->statuses as $status){
    if($status->retweeted_status && $status->retweeted_status->text != ''){
        echo 'retweeted status';
    else
        echo 'not a retweeted status';
}

答案 1 :(得分:0)

如果您执行i.retweet_count,它应该为您提供该帖子的转发数,以便您可以添加

public static async Task<HttpResponseMessage> Run(..., Route = "product/{productId:guid}")]HttpRequestMessage req, string productId)

如果这对您不起作用,也可以完全打印出i值之一(不带文本或其他命令),它会向您显示可以在字典中使用的所有可能参数。