Twitterを使っていいねを自動化[GCPで定期実行]

Python

今回は以前書いた「Pythonを使ってTwitterでいいねを自動化する」のファイルを定期実行させようと思います。

上記の記事では定期実行も実装しているのですが、「ファイルをずっと起動しておかないといけない」、「PCもずっと起動しておかないといけない」という欠点があるので、その2つの欠点を克服していきたいと思います。

そのために今回は「GCP」を使用していきたいと思います。

GCP」の詳しい説明はこちらのサイト記事に託したいと思います。

サーバーレス + Pythonで定期的にスクレイピングを行う方法 | ガンマソフト株式会社
目の前のパソコンではなく、サーバーを用いればプログラムを24時間体制で動かすことができます。Pythonで仕事を自動化するには様々な事例が考えられますが、さらに応用範囲が広がります。 そのためにはサー...
GCPとは丨サービス概要と出来ることをわかりやすく解説|トラムシステム
トラムシステム株式会社はビジネスフォン(ビジネスホン)や電話交換機の販売・工事専門業者として「信用」と「対応品質」にこだわってまいりました。対応地域は名古屋、東京、大阪を中心に全国対応。まずはどんなことでもご相談ください。

早速やっていきましょう!

GCPへの登録

Google Cloud プラットフォーム
Google Cloud Platform では、Google と同じインフラストラクチャでアプリケーション、ウェブサイト、サービスを構築、導入、拡大することができます。

こちらにアクセスしてください。

このような画面が表示されるので、上記のように入力して「同意して続行」を押してください。

個人情報やクレジットの登録画面もできてきたら入力しましょう。

サーバーレス + Pythonで定期的にスクレイピングを行う方法 | ガンマソフト株式会社
目の前のパソコンではなく、サーバーを用いればプログラムを24時間体制で動かすことができます。Pythonで仕事を自動化するには様々な事例が考えられますが、さらに応用範囲が広がります。 そのためにはサー...

こちらの記事を参考にすると良いです。

プロジェクトの作成

ではプロジェクトを作成していきましょう。

上のバーから「プロジェクトの選択」を押しましょう。

そうすると上のような画面が表示されるので、「新しいプロジェクト」をクリックしてください。

プロジェクト名」を好きなものに設定して「作成」を押してください。

左上の3本線を押すとサイドバーが出てくるので、「Cloud Functions」を押しましょう。

上の画面が表示されるので、「関数を作成」を押してください。

上記のように入力して赤枠の部分をクリックして、「トピックを作成」を押してください。

トピックID」を上のように入力して、「トピックを作成」を押してください。

「保存」を押して、「次へ」を押してください。

上記のような画面が表示されます。

まずは赤くなっている「APIを有効にする」を押してください。

「有効にする」を押してください。

先ほどの画面に戻ると先ほど赤くなっていた部分が消えるので、「ランタイム」と「エントリポイント」を上と同じにしてください。

その後「main.py」を次のようにしてください。

# -*- coding: utf-8 -*-
import os
import tweepy
import datetime

def twitter_good(data, context):
  # os.environを用いて環境変数を表示
  CK = ".envに書いた「API_KEY」"
  CS = ".envに書いた「API_SECRET_KEY」"
  AT = ".envに書いた「ACCESS_TOKE」"
  AS = ".envに書いた「ACCESS_TOKEN_SECRET」"

  # tweepy settings
  auth = tweepy.OAuthHandler(CK, CS)
  auth.set_access_token(AT, AS)
  api = tweepy.API(auth)

  # ツイート検索数
  count = 200

  # 検索
  tweets = api.search(q="#駆け出しエンジニアと繋がりたい OR #プログラミング初心者",
                      include_entities=True,
                      tweet_mode="extended",  # テキスト全文
                      lang="ja",  # 日本語のツイートのみ
                      count=count
                      )

  # いいねと出力
  for tweet in tweets:
      id = tweet.id  # id取得
      # いいねするツイート内容を改行なしで取得
      text = tweet.full_text.replace('\n', '')
      # ツイート内容を出力
      print(text)
      # いいねをする。(いいねがされているものをもう一度いいねするとエラーが出るので、例外処理)
      try:
          api.create_favorite(id)
      except:
          pass

  print(datetime.datetime.now())

色がついている部分は前回の記事で「.env」ファイルに書き込んだものをそれぞれ「“”」のなかに入れてください。

これができたら「requirements.txt」を以下のように書き換えてください。

tweepy==3.10.0

ここには外部パッケージなどを書き込んでおき、このファイルを自動的に実行してくれます。

以上が入力できたら「デプロイ」を押しましょう。

そうすると上記のような画面が出てくるので、左側の緑のチェックがつくまで待ちましょう。

もし緑のチェック以外のエラーや警告が出たら、上記の部分からエラー文を確認してください。

無事緑のチェックがついたら、「関数をテスト」を押して、「関数をテストする」を押して、緑チェックが2つ付けば完璧です!

定期実行

ここまでで実行するファイルの登録ができました。

最後に定期実行する設定をしていきましょう。

左上の3本線から「Cloud Scheduler」を押してください。

ジェブを作成」を押してください。

上記のように入力して、「作成」を押してください。

頻度」は「分 時 日 月 曜日」となっているので、毎日特定の時間に実行したい時は「0 12 * * *」のように入力してください。

トピック」は先ほど作成したトピック名を入力してください。

このような画面が表示されるので、右端の「今すぐ実行」を押してください。

「結果」の部分が「成功」になれば完璧です。

1日の中で何回か実行したい方はこれを複数作成すればできます!

最後に

今回は以前書いた「Pythonを使ってTwitterでいいねを自動化する」のファイルを定期実行させました。

結構早足で手順を見てきたので、大変だったと思いますがうまくできたでしょうか?

もしつまづいたり、わからないことがあれば下のTwitterのDMかコメントで聞いてください!

それでは![

コメント

タイトルとURLをコピーしました