【Python】Twitterで検索したツイートに自動で「いいね」する

Pythonで、Twitterをさわってみよう第二弾です。

今回は、検索条件に合うツイートを「いいね」する方法を考えてみます。

準備

TwitterのDeveloperアカウントを申請し、APIデータ操作に必要なキーを入手する必要があります。

詳しくは、前回の「PythonでTwitterをさわってみる」をご参照ください。

実装

前準備

API操作に必要な4つのキーを、変数に入れておきます。

ツイートの検索

「ツイートの検索」と「いいね」をモジュール化して実装します。最初に検索部分。

ツイート検索のAPI説明はこちら(Twitter公式)。

前回の記事内容と構成はほとんど一緒ですが、APIでの「いいね」に必要なツイートIDを返しています。

いいね

続いて肝となる「いいね」の部分。

いいねのAPI説明はこちら(Twitter公式)。

パラメータは取得したID(と、include_entities)ですので、構造は単純ですね。

全体の構造

全体は以下のようになりました。

51行目の検索文字列に合う、最新3つのツイートに「いいね」をつけています。検索文字列には、Twitterの高度な検索を使用しています。

Twitterの高度な検索は別ブログにまとめています。よろしければご参照ください。

55行目の max_idは、ツイート検索で「これを含まない、これより過去(よりIDの小さい)のツイートを取得する」パラメータです。最新のツイートから、徐々に遡って「いいね」します。

「これを含まない」はずなんですが、何故か同一のツイートを参照してしまうため -1しています。何でだろう…?

59行目では 一度の処理後に1分間の待機を設けています。短期間に いいねをし過ぎると、アカウントを凍結される可能性があるためです。1分は流石に長すぎかもしれませんが、念のため。

実行結果

上の例、「#サンシャイン水族館 min_faves:10″」は、ハッシュタグ:サンシャイン水族館、いいね数 10以上のツイート検索文字列です。

実行結果はこちら↓

無事いいねをつけることができました。

まとめ

Twitterの検索条件にあうツイートに自動で「いいね」する方法でした。

これを利用すると、特定の投稿者からのツイートを全て いいね したり、自分宛ての返信に自動で いいね できます。

最後に、公式APIの説明にある通り、検索,いいね数 ともに単位時間中の数制限が存在しますので、十分に注意して運用してください。

コメント

  1. […] 【Python】Twitterで検索したツイートに自動で「いいね」する […]