【Python】tweepyでTwitterを操る

今回は、TwitterAPI操作用のPythonライブラリ「tweepy」を紹介する記事。

利用までに必要な登録・設定の流れと、簡単な操作方法を紹介していきます。

tweepyはTwitterの自動化には欠かせないライブラリです。

なので今回はTwitter botなどに興味がある人にオススメの内容となっています。

それでは行きましょう。

 

Twitter APIに関する参考動画

今回の記事は、次のUdemy教材を参考にしています。

こちらの動画教材は、「APIとは何か?」から始まり、楽天商品検索などのさまざまなサービスのAPI使用方法を解説してくれています。

解説が丁寧で分かりやすいのはもちろんですが、個人的には講師の「今西航平さん」の活舌の良さからくる「講義のテンポ」が最高でした。

ちなみに今西さんは「いまにゅのプログラミング塾」というYouTubeチャンネルをやられています。

 

 

 

Twitterアカウントを登録

当たり前ですが、まずはtwitterアカウント作成が必要です。

まだアカウントを持っていない人は、以下の記事を参考にして作っておきましょう。

マイナビニュース

Twitterアカウントを新規作成する際には、Twitterで使う名前(アカウント名)、携帯電話番号またはメールアドレス…

 

 

Twitter Developersの登録

続いて、TwitterAPIを使用するために「Twitter Developers」の開発者アカウント登録が必要です。

ちなみにAPIとはApplication Programming Interfaceの略。

他社が提供しているサービスの情報・機能を外部から扱えるようにする仕組みを指します。

今回の場合だと、Twitterの機能を外から利用するためのルールやコマンドのことだと思えばいいです。

このTwitter Developersへの登録が結構だるいです。以下の記事の説明がとても丁寧なので参考に。

新宿のホームページ制作会社 ITTI(イッティ)

Twitter APIを利用するためのデベロッパー申請から、APIキー、トークン取得方法を詳しく解説します。…

ただ一年以上前の記事なので、見た目・操作が変わっているところもあると思います。(実際にちょっと違った。)

僕も検索しながらでいけたので、分からないところは調べながら進めてください。

※登録の最後にKeyとTokenを取得しますが、次に行う設定のあとに再発行する必要が出てくるので、メモする必要はないです。

 

 

API利用範囲の権限を広げる設定

最後にTwitter Developers上で、少しだけ設定の変更が必要です。

登録時点でのデフォルト設定では、TwitterAPI利用で「読み取りのみ」しかできないようになっています。

つまりツイート内容を取得することができても、自分でツイートすることができないのです。

今後のことも考えて、権限を広げる設定を行っていきます。

やることは、次の二つ。

  1. 権限拡大の設定
  2. API Key / Access Tokenの再発行(Regenerate)

 

権限拡大の設定

Developer Portalに入ったら、左のProjects & Appsタブの中に「登録したアプリ名」があるのでそれを選択。

 

画面をスクロールすると一番下にUser authentication settingsという欄があるので「Edit」をクリック。

 

「OAuth1.0a」をオンにして、設定を「Read」から「Read and Write and Direct message」に変更。

※確かここで、URLの入力を求められます。僕は自分のブログのURLを入れました。

 

API Key / Access Tokenの再発行(Regenerate)

設定を変更したら、API KeyとAccess Tokenの再発行(Regenerate)が必要です。

「Projects & Apps」→「登録したアプリ名」→「Keys and tokens」と進んでください。

 

そこで「API Key and Secret」と「Access Token and Secret」のRegenerateをクリックしてください。

ここで得られた

  • API Key
  • API Key Secret
  • Access Token
  • Access Token Secret

の4つの情報を必ずコピペして残しておきましょう。

ちなみにこの4つの情報は、絶対に人に知られてはいけません。

もし何かの手違いで公開してしまった場合は、Regenerateしてください。

 

Tweepyを使ってみる

それではいよいよ、tweepyを使っていきましょう。

まずはtweepyをインストール。次のコマンドを実行してください。

#command line 上なら
pip install tweepy

#jupyter notebook 上なら
!pip install tweepy

 

インストールできたらコードを書いていきましょう。今回は「指定した文字列をツイートする」メソッドを使っていきます。

まずは全体のコード。

import tweepy
API_KEY = "XXXXXXXXXXXXXXXXX"
API_SECRET = "XXXXXXXXXXXXXXXX"
ACCESS_TOKEN = "XXXXXXXXXXXXXXXX"
ACCESS_SECRET = "XXXXXXXXXXXXXXXXX"

#API使用認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)

#Twitterアカウント認証
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

#APIインスタンス生成
api = tweepy.API(auth)

#ツイートするメソッド実行
api.update_status("tweepyつかってみたお")

 

この部分には、前項で取得した4つの情報を入れましょう。

API_KEY = "XXXXXXXXXXXXXXXXX"
API_SECRET = "XXXXXXXXXXXXXXXX"
ACCESS_TOKEN = "XXXXXXXXXXXXXXXX"
ACCESS_SECRET = "XXXXXXXXXXXXXXXXX"

 

こちらはtweepyを利用する際のおまじない。コピペでOK。

#API使用認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)

#Twitterアカウント認証
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)

詳しく知りたい場合はtweepyのドキュメント参照。

「ツイート」する以外のメソッドもここから探せます。

API使用の認証と、どのTwitterアカウントを操作するかの認証。(違ったらすみません。)

 

apiインスタンスの生成と、update_statusメソッドで指定した文字列をツイート。

#APIインスタンス生成
api = tweepy.API(auth)

#ツイートするメソッド実行
api.update_status("tweepyつかってみたお")

以上です。

最新情報をチェックしよう!