PythonでTwitterAPIをやってみた

こんにちは!Python部で活動しているつっきー🛌とやねこ🐈です。

今回はPythonでTwitterAPIを使用して「タイムラインを取得する」「検索をかけてみる」「ツイートをしてみる」という3つのことに挑戦しました。

動作環境は、Windows10、Python3、AnacondaのSpyderです。

Pythonについては、前回まとめたこちらの記事をご参照ください。


【準備その1】

Twitterのアカウントを用意します!

参考サイトなどによると、PythonからTwitterAPIにアクセスするには、まずアプリケーション登録(https://apps.twitter.com/)をして「4つの鍵」をゲットする必要があるとのこと。早速適当な名前をつけてとってきました。

この中の「Consumer Key」「Consumer Secret」「Access Token」「Access Token Secret」の4つの鍵をゲット。アクセストークンは少しわかりづらいところにありましたが、なんとかゲットできました!

余談ですが、最初このアプリケーションの権限をビビッて「Read」のみにしていたらツイートを呟けなくなりました…。そのため、権限は「Read and write」にしておきます。

【準備その2】

先程ゲットしたアクセストークン(Access Token、Access Token Secret)は、「アクセスしてもいいよ!という許可証」のような役割を担っています。TwitterAPIへアクセスするためには、さらに OAuth(オーオース)認証という機能が必要になるみたいです。

OAuth認証は簡単に言うと「アクセスを許す権限」のようなもので、私たちのように知識が浅い人たちが一から扱うのは非常にハードルが高い代物です……。そこで今回は、このOAuth認証を簡単に使えるようにしたrequests-oauthlibというライブラリ(色々使いまわせるプログラムの集まり)を使用しました。

このライブラリもなかなか曲者で、プログラムの初めにコードを書くだけではエラーが起きて使用できませんでした。どうしたらいいのか調べてみると、使用するためには「コマンドプロンプト」でインストールしないといけないとのこと。

コマンドプロンプトは、高度な設定をしたり、命令をプログラミングで動くようにしたりできるもので、このコマンドプロンプトにpipすることでPythonでようやく動くようになりました。pipとは、Pythonに関するファイルなどをまとめ、管理するものです。私の動作環境ではバージョン的にpip3でした。

Anacondaのコマンドプロンプトに下記のようなコードを入力することで、OAuth認証のライブラリを入れることができました。長かった…。(ユーザーネームなど個人情報は消しています。)


【やってみた】

サイトなどで調べたコードを使用し、実際に色々やってみました。  

① タイムライン取得

とりあえず最新の5つ分のツイートをとってきました!絵文字や投稿時間なども取得できており、これは色々便利だなと感じました。

② 検索してみる

1つの単語として認識しているというより、1文字ずつ検索して全部ヒットしたものって感じだったので想定していたものより余計なものを結構取ってきてしまいました。ここら辺は少し使いにくいですね…もう少し工夫がいるかな…

③ ツイートしてみる

なにかツイートするというよりBOTとして使えそうだなと感じました!これに定期的にツイートするものを組み合わせるとよさそうです!

【感想】 

プログラミングそのものはサイトなどを参考にしてなんとかできましたが、環境を整えたりするのに結構時間がかかったかなと思います。知らない単語が結構多かったのでもっと勉強したいです。(つっきー🛌)

最終的に無事Twitterとの連携が実現し、Pythonの実用性を身をもって知ることが出来ました。今回のプログラムはほとんどつっきーが時間をかけてやってくれたので本当に感謝が尽きません。(やねこ🐈)

【まとめ】                             深夜テンションで書いたため、説明が少しわかりにくくなってしまいました。今後もこの記事をアップデートしてよりわかりやすくしていこうと思います。

【参考にしたサイト】