Edited at

twitter APIで遊んでみる #1(環境作り)


Twitter APIを発行する

以下のサイトを参考にAPIのキーを発行しました。

https://4-bh.com/twitter-api/


環境作り

OSはCentOS7を使用しました。今回はpython3でコードを書きます。

ちなみに最初はCentoOS7標準のpython2.7でやっていたのですが、後々エンコード周りでハマってしまいました。python3系なら大丈夫という記事をどこかで見たので、途中からpython3でやることに変更しました。その記事通り、python3系にしたらハマっていた部分でエラーが出ること無くスルリンとうまくいきました。

yum

まずはpip3を使用できるようにします。

$ sudo yum -y install epel-release.noarch

$ sudo yum -y install install python36 python36-devel python36u-pip

またpython3.6python3として使えるようにシンボリックリンクを貼ります。

# python3.6のパスを確認

$ which python3.6
/usr/bin/python3.6

# python3のシンボリックリンク作成
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3

# "python3" と打って正しく動作するか確認
$ python3 --version
Python 3.6.2

pip

必要なpythonモジュールを追加します。

TwitterへのアクセスはOAuth認証を必要とします。

PythonでOAuth認証をするために、今回はRequests-OAuthlibというライブラリを使ってみます。

$ sudo pip3 install requests requests-oauthlib

このライブラリのOAuth1Sessionを使用します。これには以下4つのデータを与えてあげます。


  • Consumer Key

  • Consumer Secret

  • Access Token

  • Access Token Secret

これら4つの取得方法は上記 Twitter APIを発行するのサイトを参考にしてください。


ファイル構成

こんな感じです。

twitter                  # アプリディレクトリ(名前はなんでもいい)

├── config.py # OAuthの認証情報
├── config.pyc # 最初はないが、実行すると勝手にできる
└── getTimelineTweet.py # 次回作成するアプリ

config.py

認証情報を格納しておきます。

CONSUMER_KEY = "********************"

CONSUMER_SECRET = "********************"
ACCESS_TOKEN = "********************"
ACCESS_TOKEN_SECRET = "********************"


終わりに

これで一旦の環境作りは完了です。次回以降、twitterからデータを引っ張ってきて遊んでみようと思います。