首页 > 解决方案 > 我如何获得一个账户的推文列表?

问题描述

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

我想获得推文列表 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'))

标签: python-3.xtwittertweepy

解决方案


我认为 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';
}

推荐阅读