python-twitterのライブラリを使用して、pythonでtwitterのAPIを操作 - 株式会社CoLabMix

python-twitterのライブラリを使用して、pythonでtwitterのAPIを操作

pythonでTwitterのAPIを操作する方法です。

pythonでの取得はpython-twitterというライブラリが便利なのでこちらを利用します。

・python-twitterドキュメント
https://python-twitter.readthedocs.io/en/latest/index.html

また、twitter関連のライブラリでは以下のようなものを探し、言語ごとに探すことができます。

・Twitter libraries
https://developer.twitter.com/en/docs/developer-utilities/twitter-libraries.html

尚、事前に認証に必要な情報はAPIキーなどはTwitterから取得している前提となります。

 

python-twitterのインストール

それではライブラリのインストールを行います。

pipインストールなので特に問題なく入ると思います。

 

Search APIを試してみる

それでは、最初にSearch APIを試してみます。

APIに必要な認証情報をセットして「GetSearch」のメソッドで確認を行っています。

結果を確認してみます。

 

通常の利用では「tweet.text」のように必要な要素だけ取得を行います。

 

ユーザー情報の確認

次にユーザー情報の確認を行います。

 

それでは結果を確認してみます。

こちらもずらっと出ていますが、「user_lookup[0].name」のように必要な要素だけ取り出しての利用になります。

 

タイムラインを取得する

続いてユーザーのタイムラインを取得してみます。

 

それでは結果の確認です。

こちらも実際の利用では「timeline.text」のように要素だけとなります。

 

フォロワーを取得

続いてフォロワーの情報を取得します。

 

こちらのメソッドでの戻り値は「next_cursor, previous_cursor, data sequence of twitter」となります。

一度に200件の取得ができますので、次の取得からは「next_cursor」を利用します。

https://python-twitter.readthedocs.io/en/latest/twitter.html

また、こちらも結果を以下に表示してみます。

 

こちらも値は「follower.created_at」のように要素単位でみることができます。

 

RateLimitを確認

最後にレート制限であるRateLimitを確認してみます。

TwitterのAPIは以下のように15分ごとの利用制限が厳しくかかります。

・Twitter 開発者 ドキュメント日本語訳 API レート制限

http://westplain.sakuraweb.com/translate/twitter/Documentation/REST-APIs/Public-API/API-Rate-Limits.cgi

・Twitter 開発者 ドキュメント日本語訳 レート制限: 早見表

http://westplain.sakuraweb.com/translate/twitter/Documentation/REST-APIs/Public-API/Rate-Limits-Chart.cgi

以下が確認のサンプルプログラムです。

確認しているEndpointとして「確認のAPIのRateLimit(application/rate_limit_status)」から順にサンプルプログラムを作成した順での制限になります。

結果を確認してみると以下のようになります。

確認してみるとAPI毎に制限がかかっており、それぞれの上限も異なります。

フォロワーの取得のように制限の厳しいものであればRateLimitの確認などは常に必要でしょうが、ユーザー情報の取得などでRateLimitの確認をしてしまうと、逆にそちらのAPIの方で制限がかかってしまいますので注意が必要です。

今回はこの辺で。

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

     

     

    関連記事

    1. python3でGoogleDriveからファイルの取得

    2. AWS IVSの認証キーのtokenをpythonで作成

    3. Tableau Hyper API使用例(CSVからHyperへ変換)…

    4. CentOS8にTripwireのインストール

    5. CentOS6 + Apache2 を無料のSSL「Let's Enc…

    6. Elasticsearch 6 を使ったデータ検証 その2(マッピング…