gpt4 book ai didi

api - 使用 tweepy 从 twitter 流 api 中排除转发

转载 作者:行者123 更新时间:2023-12-02 08:25:22 32 4
gpt4 key购买 nike

当使用 python tweepy 库从 Twitter 的流 API 中提取推文时,是否可以排除转发?

例如,如果我只想要特定用户发布的推文,例如:twitterStream.filter(follow = ["20264932"]),但这会返回转发,我想排除它们。我怎样才能做到这一点?

提前谢谢您。

最佳答案

仅检查推文的文本以查看其是否以“RT”开头并不是真正可靠的解决方案。您需要决定将哪些内容视为转发,因为这并不明确。 Twitter API docs解释推文中带有“RT”的推文不是正式转发的推文。

Sometimes people type RT at the beginning of a Tweet to indicate that they are re-posting someone else's content. This isn't an official Twitter command or feature, but signifies that they are quoting another user's Tweet.

如果您采用“官方”定义,那么如果推文的 retweeted 属性具有 True 值,则您希望将其过滤掉,如下所示:

if not tweet['retweeted']:
# do something with standard tweets

如果您想更具包容性,包括“非官方”转发,您应该检查字符串中的子字符串“RT @”,而不仅仅是检查它是否以“RT”开头,因为前者更干净、更快并消除了更多边缘情况,即推文以“RT”开头但不是转发(有大量数据,我确信这是可能的)。这是一些代码:

if not tweet['retweeted'] and 'RT @' not in tweet['text']:
# do something with standard tweets

后一个条件采用您的集合中属于常规推文的推文子集,并与您的集合中推文文本中没有“RT @”的推文子集进行交集,从而为您留下据称是的推文常规推文。

关于api - 使用 tweepy 从 twitter 流 api 中排除转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689566/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com