如何在搜索 api 中排除转推和回复?

How to Exclude retweets and replies in a search api?

如何在搜索中排除转推和回复api?

我正在尝试使用搜索 api 从 Twitter 获取提要,结果我也收到了回复和转推。

所以我想排除回复和转推。

怎么做有人帮我。

这是我的 url:

https://api.twitter.com/1.1/search/tweets.json?q=from:rioferdy5&count=20&result_type=recent

没有直接的方法可以排除来自 api 的转推和回复。但是,您可以过滤掉您得到的结果。

对于回复,您可以检查您从 api 获得的 in_reply_to_status_id 字段是否为空,这意味着它不是回复,如果它包含一个 id,那么它是一个回复。

对于转推,如果您想要从未被转推过的帖子,您可以检查 retweet_count = 0 或者如果您想要已验证用户未转推的帖子,您可以检查 retweeted = 假

我认为以上内容不正确,您可以在搜索中使用过滤器 API 但是文档非常差(不存在?)。

您的查询将变为:

?q=from:rioferdy AND -filter:retweets AND -filter:replies&count=20&result_type=recent

这里获得了更多过滤技巧:How to Master Twitter Search: Basic Boolean Operators and Filters

根据 official documentation

传递以下参数exclude_replies=true

抱歉我来晚了。我同意 Hitesh 的观点,因为他们不提供本地排除转推的方法,但每条转推的推文在返回的 json 中都有一个转推对象。因此,您可以循环浏览您的推文并排除任何具有 retweeted_status typeof 'object' 的推文(意味着它们是其他人的转推)或保留那些具有 typeof 'undefined' 的推文(意味着它们是原来的)。 retweet_count=0 的问题是像@pattonoswalt 这样的人会转发他的所有推文。所以即使都是原创,计数也永远不会为零。

你可以在循环中使用类似这样的东西:

if(typeof tweets[i].retweeted_status === 'object') {tweets.splice(i,1);}

if(typeof tweets[i].retweeted_status !== 'undefined') {tweets.splice(i,1);}

旧 post,但人们可能仍会偶然发现它。

此处记录了大多数查询运算符:https://dev.twitter.com/rest/public/search

但对于 search/tweets 方法,您还可以指定 exclude:replies and/or exclude:retweets 以从结果中过滤掉回复和转推。

只需在 API Console Tool 中对其进行测试,然后亲眼看看。

奖励:另一个未记录的查询运算符是 filter:verified,用于从经过验证的用户那里获取推文。

示例查询:cats filter:vine filter:verified exclude:replies exclude:retweets

是的,您可以在搜索 API 期间通过在搜索字符串 (q) 中添加 -RT 来排除转推。例如:search?q="#demo -RT"

很晚才回复,和其他人一样,但我觉得 Paul 在这里的第二个答案应该是 "correct"。我希望推特能更好地记录这一点,或者让它更广为人知,但你可以做大量的搜索过滤器,即使在 2018 年使用他们的标准 API。

https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/standard-operators

这里有一个相当全面的示例列表 :) 转发量介于两者之间。

-filter:retweets

如官方文档所述,这是允许的

puppy -filter:retweets  containing “puppy”, filtering out retweets

https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/standard-operators.html

只需使用nitter.net 它允许您从搜索结果中排除某些内容(通过搜索栏右端的高级搜索选项),它甚至还提供自己的 RSS 提要。在顶部,它扩展了这些 t.co 短 URLs 并将 youtube URL 替换为 invidio.us URL

最后,您可以通过名为 Huginn

的自托管界面,将您的 RSS 提要用作其他网络小程序的触发器

在新的 v2 API 中搜索如何执行此操作时发现了这个,现在是 puppy -is:retweet -is:reply(不再需要 AND

https://developer.twitter.com/en/docs/twitter-api/tweets/search/integrate/build-a-query#list

在新的搜索推文 API 中,包括以下参数将删除不同风格的转推:
-is:retweet 排除转推
-is:quote 排除引用推文
-is:reply 排除回复

请在此处查看 API 文档:Search Tweets - Build a Query

只有 Mike Chen 的回复(奇怪的是在我投票之前只有 0 票)是正确的。由于 Twitter API v2 的推出,此处的其余答案已过时。我会直接评论 Mike 的回答,但我没有足够的声誉。