web-dev-qa-db-ja.com

検索APIでリツイートと返信を除外する方法は?

検索APIでリツイートと返信を除外する方法は?

検索APIを使用してTwitterからフィードを取得しようとしています。その結果、返信とリツイートも取得しています。

だから私は返信と除外を除外したいと思います。

それを行う方法は誰でも私を助けます。

これは私のURLです。

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

12
rakesh r

APIからリツイートと返信を除外する直接的な方法はありません。ただし、取得した結果を除外することができます。

返信については、in_reply_to_status_id apiから取得するフィールドはnullです。つまり、IDが含まれている場合、それ以外の場合は返信ではなく、返信です。

リツイートの場合、これまでリツイートされたことのない投稿が必要な場合は、retweet_count = 0、または認証済みユーザーによってリツイートされていない投稿が必要な場合は、retweeted = falseを確認できます

3
Hitesh

上記は正しくないと思います。検索APIでフィルターを使用できますが、ドキュメントは非常に貧弱です(存在しませんか?)。

クエリは次のようになります。

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

フィルタリングに関するその他のヒントは、こちらから入手できます。 Twitter検索をマスターする方法:基本的なブール演算子とフィルター

49
Paul Thomas

古いポストですが、人々はまだそれに出くわすかもしれません。

ほとんどのクエリ演算子はここに文書化されています: https://dev.Twitter.com/rest/public/search

ただし、 search/tweets メソッドの場合、exclude:repliesまたはexclude:retweetsを指定して、結果から返信とリツイートを除外することもできます。

API Console Tool でテストして、実際に確認してください。

おまけ:文書化されていない別のクエリ演算子は、検証済みユーザーからツイートを取得するためのfilter:verifiedです。

クエリの例:cats filter:Vine filter:verified exclude:replies exclude:retweets

11
phuc77

他の人と同じように非常に遅い返信ですが、ここでのPaulの2番目の答えは「正しい」答えであると思います。 Twitterがこれをよりよく文書化したり、より広く知られたりしたいと思いますが、2018年の標準APIを使用しても、実行できる検索フィルターはたくさんあります。

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

以下は、かなりわかりやすい例のリストです:)そして、リツイートは途中のどこかにあります。

-filter:retweets
3
Kehran

これは公式ドキュメントに記載されているように許可されています

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

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

3
Michael C

ここのパーティーに遅れてすみません。ネイティブでリツイートを除外する方法を提供していないという点で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);}

1
JeremyS

はい。検索文字列(q)に-RTを追加することで、検索API中にリツイートを除外できます。例:search?q="#demo -RT"

1

公式ドキュメント によると

次のパラメータを渡しますexclude_replies=true

1
ex0b1t

Nitter.netを使用するだけで(検索バーの右端にある高度な検索オプションを使用して)検索結果から除外することができ、独自のRSSフィードも提供されます。さらに、これらのt.coショートURLを展開し、youtube URLをinvidio.us URLに置き換えます

最後に、RSSフィードを Huginn と呼ばれる自己ホスト可能なインターフェースを介して他のWebアプレットのトリガーとして使用できます。

0
gloschtla