検索APIでリツイートと返信を除外する方法は?
検索APIを使用してTwitterからフィードを取得しようとしています。その結果、返信とリツイートも取得しています。
だから私は返信と除外を除外したいと思います。
それを行う方法は誰でも私を助けます。
これは私のURLです。
https://api.Twitter.com/1.1/search/tweets.json?q=from:rioferdy5&count=20&result_type=recent
APIからリツイートと返信を除外する直接的な方法はありません。ただし、取得した結果を除外することができます。
返信については、in_reply_to_status_id
apiから取得するフィールドはnullです。つまり、IDが含まれている場合、それ以外の場合は返信ではなく、返信です。
リツイートの場合、これまでリツイートされたことのない投稿が必要な場合は、retweet_count
= 0、または認証済みユーザーによってリツイートされていない投稿が必要な場合は、retweeted
= falseを確認できます
上記は正しくないと思います。検索APIでフィルターを使用できますが、ドキュメントは非常に貧弱です(存在しませんか?)。
クエリは次のようになります。
?q=from:rioferdy AND -filter:retweets AND -filter:replies&count=20&result_type=recent
フィルタリングに関するその他のヒントは、こちらから入手できます。 Twitter検索をマスターする方法:基本的なブール演算子とフィルター
古いポストですが、人々はまだそれに出くわすかもしれません。
ほとんどのクエリ演算子はここに文書化されています: 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
他の人と同じように非常に遅い返信ですが、ここでのPaulの2番目の答えは「正しい」答えであると思います。 Twitterがこれをよりよく文書化したり、より広く知られたりしたいと思いますが、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
ここのパーティーに遅れてすみません。ネイティブでリツイートを除外する方法を提供していないという点で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);}
はい。検索文字列(q)に-RT
を追加することで、検索API中にリツイートを除外できます。例:search?q="#demo -RT"
公式ドキュメント によると
次のパラメータを渡しますexclude_replies=true
Nitter.netを使用するだけで(検索バーの右端にある高度な検索オプションを使用して)検索結果から除外することができ、独自のRSSフィードも提供されます。さらに、これらのt.coショートURLを展開し、youtube URLをinvidio.us URLに置き換えます
最後に、RSSフィードを Huginn と呼ばれる自己ホスト可能なインターフェースを介して他のWebアプレットのトリガーとして使用できます。