Python Tips

pythonを利用する上で、便利な表記などの個人的なメモです。基本的な部分は触れていません。対象も自分が便利だなと思ったものに限定されます。

自動botなどを作って、自動的にツイートする場合に利用します。

github

  • githubのjupyter notebook形式のファイルはこちら

google colaboratory

  • google colaboratory で実行する場合はこちら

筆者の環境

!sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G95
!python -V
Python 3.5.5 :: Anaconda, Inc.

tweepyのインストール

TwitterのAPIを利用するには、tweepyというモジュールをインストールする必要があります。

!pip install tweepy

コード例

以下のコードはあるプロジェクトで実際にあるトリガーが引かれたときに実行される自動ツイート用のコードです。 configファイルとして./config/login_info.jsonが必要です。これらの情報はTwitterの開発者アカウントを作り、取得する必要があります。

import datetime
import sys

import tweepy
import json

import os
import time

import json
import shutil

def tweet(text, image_file_path):

  json_file = "./conf/login_info.json"
  with open(json_file) as file:
    payload = json.loads(file.read())

  consumer_key  = payload["Consumer_key"]
  consumer_secret = payload["Consumer_secret"]
  access_token  = payload["Access_token"]
  access_secret   = payload["Access_secret"]

  auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
  auth.set_access_token(access_token, access_secret)

  api = tweepy.API(auth, wait_on_rate_limit = True)

  #画像付きツイート
  # api.update_with_media(status = text, filename = image_file_path)

  # 通常のテキストツイート
  api.update_status(text)


if __name__ == '__main__':

  args = sys.argv

  today = datetime.date.today()
  yyyy = today.strftime('%Y')
  mm = today.strftime('%m')
  dd = today.strftime('%d')
  yyyymmdd = today.strftime('%Y%m%d')

  text = """
{0}{1}{2}日】

XXXXXXXXXXXXXX

""".format(yyyy, mm, dd)

  tweet(text=text, image_file_path="")

configファイル

configファイルは以下の様に作っています。

{
    "COMMENT": "login_info.json",
    "Consumer_key": "",
    "Consumer_secret": "",
    "Access_token": "",
    "Access_secret": ""
}

これらのファイルを作ることで、あるイベントトリガーで自動的にツイートする事が可能です。 私は、これで大体一日に10個程度自動ツイートしています。